Guest User

PlantDiscovery

a guest
Aug 9th, 2020
64
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace thirdV2
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             int n = int.Parse(Console.ReadLine());
  12.             Dictionary<string, Plant> plants = new Dictionary<string, Plant>();
  13.  
  14.             for (int i = 1; i <= n; i++)
  15.             {
  16.                 string input = Console.ReadLine();
  17.                 string[] info = input.Split("<->");
  18.                 string plantName = info[0];
  19.                 int rarity = int.Parse(info[1]);
  20.  
  21.                 if (!plants.ContainsKey(plantName))
  22.                 {
  23.                     Plant plant = new Plant(rarity);
  24.                     plants.Add(plantName, plant);
  25.                 }
  26.                 else
  27.                 {
  28.                     plants[plantName].Rarity = rarity;
  29.                 }
  30.             }
  31.             string secondInput = Console.ReadLine();
  32.             while (secondInput != "Exhibition")
  33.             {
  34.                 string[] info = secondInput.Split();
  35.                 string plantName = info[1];
  36.  
  37.                 if (secondInput.Contains("Rate"))
  38.                 {
  39.                     int rating = int.Parse(info[3]);
  40.                     plants[plantName].Rating.Add(rating);
  41.                 }
  42.                 else if (secondInput.Contains("Update"))
  43.                 {
  44.                     int rarity = int.Parse(info[3]);
  45.                     plants[plantName].Rarity = rarity;
  46.                 }
  47.                 else if (secondInput.Contains("Reset"))
  48.                 {
  49.                     plants[plantName].Rating = new List<int>(){
  50.                         0 };
  51.                 }
  52.                 else
  53.                 {
  54.                     Console.WriteLine("error");
  55.                 }
  56.                 secondInput = Console.ReadLine();
  57.             }
  58.             var sortedPlants = plants.OrderByDescending(x => x.Value.Rarity)
  59.                 .ThenByDescending(x => x.Value.Rating.Average());
  60.             Console.WriteLine("Plants for the exhibition:");
  61.  
  62.             foreach (var item in sortedPlants)
  63.             {
  64.                 Console.WriteLine($"- {item.Key}; Rarity: {item.Value.Rarity}; " +
  65.                     $"Rating: {item.Value.Rating.Average():f2}");
  66.             }
  67.         }
  68.         public class Plant
  69.         {
  70.             public int Rarity { get; set; }
  71.             public List<int> Rating;
  72.  
  73.             public Plant(int rarity)
  74.             {
  75.                 this.Rarity = rarity;
  76.                 Rating = new List<int>();
  77.             }
  78.         }
  79.     }
  80. }
  81.  
RAW Paste Data