Advertisement
Guest User

Rainbow raindrops

a guest
Apr 7th, 2018
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.10 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace RainbowRaindrops
  8. {
  9. class RainbowRaindrops
  10. {
  11. static void Main(string[] args)
  12. {
  13.  
  14. List<double> volumeList = new List<double>();
  15. List<long> redValueList = new List<long>();
  16. List<long> greenValueList = new List<long>();
  17. List<long> blueValueList = new List<long>();
  18.  
  19. while (true)
  20. {
  21. string line = Console.ReadLine();
  22.  
  23. if (line == "End")
  24. {
  25. break;
  26. }
  27.  
  28. string[] raindropInfo = line.Split(' ');
  29.  
  30. if (raindropInfo.Length != 4)
  31. {
  32. continue;
  33. }
  34.  
  35. long redValue = long.Parse(raindropInfo[1]);
  36. {
  37. if ((redValue < 0) || (redValue > 255))
  38. {
  39. redValue = 0;
  40. }
  41. }
  42.  
  43. long greenValue = long.Parse(raindropInfo[2]);
  44. {
  45. if ((greenValue < 0) || (greenValue > 255))
  46. {
  47. greenValue = 0;
  48. }
  49. }
  50.  
  51. long blueValue = long.Parse(raindropInfo[3]);
  52. {
  53. if ((blueValue < 0) || (blueValue > 255))
  54. {
  55. blueValue = 0;
  56. }
  57. }
  58.  
  59. if (((redValue > 200) && ((greenValue < 100) && (blueValue < 100))) || ((greenValue > 200) && ((redValue < 100) && (blueValue < 100))) || ((blueValue > 200) && ((greenValue < 100) && (redValue < 100))))
  60. {
  61. redValueList.Add(redValue);
  62. greenValueList.Add(greenValue);
  63. blueValueList.Add(blueValue);
  64. volumeList.Add(double.Parse(raindropInfo[0]));
  65. }
  66.  
  67. }
  68.  
  69. PrintRainbowRaindrops(volumeList, redValueList, greenValueList, blueValueList);
  70.  
  71. }
  72.  
  73. static void PrintRainbowRaindrops(List<double> volumeList, List<long> redValueList, List<long> greenValueList, List<long> blueValueList)
  74. {
  75.  
  76. List<double> volumeListTemp = volumeList;
  77.  
  78. Console.WriteLine("Rainbow Raindrops: {0}", volumeList.Count);
  79.  
  80. int line = 1;
  81.  
  82. while (line <= volumeListTemp.Count)
  83. {
  84. for (int raindrop = 0; raindrop < volumeListTemp.Count; raindrop++)
  85. {
  86. if (volumeListTemp[raindrop] == volumeListTemp.Min())
  87. {
  88. Console.WriteLine("{0}. V:{1:f2} -> R:{2} G:{3} B:{4}", line, volumeListTemp[raindrop], redValueList[raindrop], greenValueList[raindrop], blueValueList[raindrop]);
  89. volumeListTemp[raindrop] = double.MaxValue;
  90. line++;
  91. }
  92. }
  93. }
  94. }
  95. }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement