Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- using System.Collections.Generic;
- namespace FeedTheAnimals
- {
- class Program
- {
- static void Main(string[] args)
- {
- string command = string.Empty;
- var animalsDalyLimit = new Dictionary<string, int>();
- var animalArea = new Dictionary<string, List<string>>();
- while ((command = Console.ReadLine()) != "Last Info")
- {
- string[] splittedCommand = command.Split(":");
- string currentCommand = splittedCommand[0];
- string currentNameOfAnimal = splittedCommand[1];
- int dailyLimit = int.Parse(splittedCommand[2]);
- string areaOfCurrentAnimal = splittedCommand[3];
- switch (currentCommand)
- {
- case "Add":
- if (animalsDalyLimit.ContainsKey(currentNameOfAnimal))
- {
- animalsDalyLimit[currentNameOfAnimal] += dailyLimit;
- }
- else
- {
- animalsDalyLimit.Add(currentNameOfAnimal, dailyLimit);
- }
- if (!animalArea.ContainsKey(areaOfCurrentAnimal))
- {
- animalArea.Add(areaOfCurrentAnimal, new List<string>());
- }
- if (!animalArea[areaOfCurrentAnimal].Contains(currentNameOfAnimal))
- {
- animalArea[areaOfCurrentAnimal].Add(currentNameOfAnimal);
- }
- break;
- case "Feed":
- if (animalsDalyLimit.ContainsKey(currentNameOfAnimal))
- {
- animalsDalyLimit[currentNameOfAnimal] -= dailyLimit;
- if (animalsDalyLimit[currentNameOfAnimal] <= 0)
- {
- Console.WriteLine($"{currentNameOfAnimal} was successfully fed");
- animalsDalyLimit.Remove(currentNameOfAnimal);
- animalArea.Remove(areaOfCurrentAnimal);
- }
- }
- break;
- }
- }
- Console.WriteLine($"Animals:");
- foreach (var limit in animalsDalyLimit.OrderByDescending(x => x.Value).ThenBy(x => x.Key))
- {
- Console.WriteLine($"{limit.Key} -> {limit.Value}g");
- }
- Console.WriteLine("Areas with hungry animals:");
- foreach (var areas in animalArea)
- {
- Console.WriteLine($"{areas.Key} : {areas.Value.Count()}");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement