Advertisement
bullit3189

Hit List

Jun 10th, 2019
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4.  
  5. namespace _04HitList
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. Dictionary<string, Dictionary<string, string>> nameKeysValue = new Dictionary<string, Dictionary<string, string>>();
  12.  
  13. int infoIndex = int.Parse(Console.ReadLine());
  14.  
  15. while (true)
  16. {
  17. string command = Console.ReadLine();
  18.  
  19. if(command == "end transmissions")
  20. {
  21. break;
  22. }
  23.  
  24. string[] tokens = command.Split("=");
  25. string name = tokens[0];
  26.  
  27. if(!nameKeysValue.ContainsKey(name))
  28. {
  29. nameKeysValue.Add(name, new Dictionary<string, string>());
  30. }
  31. string[] personData = tokens[1].Split(";").ToArray();
  32.  
  33. foreach (var item in personData)
  34. {
  35. string[] personKeyAndValue = item.Split(":");
  36.  
  37. string key = personKeyAndValue[0];
  38. string @value = personKeyAndValue[1];
  39.  
  40. if(!nameKeysValue[name].ContainsKey(key))
  41. {
  42. nameKeysValue[name].Add(key, @value);
  43. }
  44. else
  45. {
  46. nameKeysValue[name][key] = value;
  47. }
  48. }
  49. }
  50.  
  51. string[] finalLine = Console.ReadLine().Split();
  52. string nameToKill = finalLine[1];
  53.  
  54. if(nameKeysValue.ContainsKey(nameToKill))
  55. {
  56. int currInfo = 0;
  57.  
  58. foreach (var kvp in nameKeysValue)
  59. {
  60. string name = kvp.Key;
  61.  
  62. if(name == nameToKill)
  63. {
  64. Console.WriteLine($"Info on {name}:");
  65.  
  66. foreach (var inner in kvp.Value.OrderBy(x=>x.Key))
  67. {
  68. string personKey = inner.Key;
  69. string personValue = inner.Value;
  70.  
  71. Console.WriteLine($"---{personKey}: {personValue}");
  72.  
  73. currInfo += personKey.Length + personValue.Length;
  74. }
  75. }
  76. }
  77.  
  78. Console.WriteLine($"Info index: {currInfo}");
  79.  
  80. if(currInfo>=infoIndex)
  81. {
  82. Console.WriteLine("Proceed");
  83. }
  84. else
  85. {
  86. int infoNeeded = infoIndex - currInfo;
  87. Console.WriteLine($"Need {infoNeeded} more info.");
  88. }
  89. }
  90. }
  91. }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement