SHARE
TWEET

Untitled

a guest Jul 22nd, 2019 69 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top