Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4.  
  5. namespace FeedTheAnimals
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. string command = string.Empty;
  12. var animalsDalyLimit = new Dictionary<string, int>();
  13. var animalArea = new Dictionary<string, List<string>>();
  14. while ((command = Console.ReadLine()) != "Last Info")
  15. {
  16. string[] splittedCommand = command.Split(":");
  17. string currentCommand = splittedCommand[0];
  18. string currentNameOfAnimal = splittedCommand[1];
  19. int dailyLimit = int.Parse(splittedCommand[2]);
  20. string areaOfCurrentAnimal = splittedCommand[3];
  21. switch (currentCommand)
  22. {
  23. case "Add":
  24. if (animalsDalyLimit.ContainsKey(currentNameOfAnimal))
  25. {
  26. animalsDalyLimit[currentNameOfAnimal] += dailyLimit;
  27. }
  28. else
  29. {
  30. animalsDalyLimit.Add(currentNameOfAnimal, dailyLimit);
  31. }
  32.  
  33. if (!animalArea.ContainsKey(areaOfCurrentAnimal))
  34. {
  35.  
  36. animalArea.Add(areaOfCurrentAnimal, new List<string>());
  37. }
  38. if (!animalArea[areaOfCurrentAnimal].Contains(currentNameOfAnimal))
  39.  
  40. {
  41. animalArea[areaOfCurrentAnimal].Add(currentNameOfAnimal);
  42. }
  43. break;
  44.  
  45. case "Feed":
  46. if (animalsDalyLimit.ContainsKey(currentNameOfAnimal))
  47. {
  48. animalsDalyLimit[currentNameOfAnimal] -= dailyLimit;
  49. if (animalsDalyLimit[currentNameOfAnimal] <= 0)
  50. {
  51. Console.WriteLine($"{currentNameOfAnimal} was successfully fed");
  52. animalsDalyLimit.Remove(currentNameOfAnimal);
  53. animalArea.Remove(areaOfCurrentAnimal);
  54.  
  55. }
  56. }
  57. break;
  58. }
  59. }
  60.  
  61. Console.WriteLine($"Animals:");
  62. foreach (var limit in animalsDalyLimit.OrderByDescending(x => x.Value).ThenBy(x => x.Key))
  63. {
  64.  
  65. Console.WriteLine($"{limit.Key} -> {limit.Value}g");
  66. }
  67.  
  68. Console.WriteLine("Areas with hungry animals:");
  69. foreach (var areas in animalArea)
  70. {
  71.  
  72. Console.WriteLine($"{areas.Key} : {areas.Value.Count()}");
  73. }
  74.  
  75. }
  76. }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement