Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Problem_12.Legendary_Farming
- {
- public class Program
- {
- public static void Main()
- {
- SortedDictionary<String, int> keyMaterialQuantity = new SortedDictionary<string, int>();
- SortedDictionary<String, int> junkMaterialQuantity = new SortedDictionary<string, int>();
- keyMaterialQuantity.Add("shards", 0);
- keyMaterialQuantity.Add("fragments", 0);
- keyMaterialQuantity.Add("motes", 0);
- String winner = "";
- while (winner.Equals(""))
- {
- String[] line = Console.ReadLine().ToLower().Split(new[] { ' ' },StringSplitOptions.RemoveEmptyEntries);
- for (int i = 0; i < line.Length - 1; i += 2)
- {
- int quantity = int.Parse(line[i]);
- String material = line[i + 1];
- if (material.Equals("shards") || material.Equals("fragments") || material.Equals("motes"))
- {
- int existingQuantity = keyMaterialQuantity[material];
- keyMaterialQuantity.Remove(material);
- keyMaterialQuantity.Add(material, existingQuantity + quantity);
- if (existingQuantity + quantity >= 250)
- {
- winner = material;
- existingQuantity = keyMaterialQuantity[material];
- keyMaterialQuantity.Remove(material);
- keyMaterialQuantity.Add(material, existingQuantity - 250);
- break;
- }
- }
- else
- {
- if (!junkMaterialQuantity.ContainsKey(material))
- {
- junkMaterialQuantity.Add(material, 0);
- }
- int existingQuantity = junkMaterialQuantity[material];
- junkMaterialQuantity.Remove(material);
- junkMaterialQuantity.Add(material, existingQuantity + quantity);
- }
- }
- }
- print(winner, keyMaterialQuantity, junkMaterialQuantity);
- }
- private static void print(string winner, SortedDictionary<string, int> keyMaterialQuantity, SortedDictionary<string, int> junkMaterialQuantity)
- {
- if (winner.Equals("shards"))
- {
- Console.WriteLine("Shadowmourne obtained!");
- }
- if (winner.Equals("fragments"))
- {
- Console.WriteLine("Valanyr obtained!");
- }
- if (winner.Equals("motes"))
- {
- Console.WriteLine("Dragonwrath obtained!");
- }
- var keyMaterialQuantityList = keyMaterialQuantity.ToList();
- keyMaterialQuantityList.Sort((pair1, pair2) => pair2.Value.CompareTo(pair1.Value));
- foreach (var item in keyMaterialQuantityList)
- {
- Console.WriteLine($"{item.Key}: {item.Value}");
- }
- foreach (var item in junkMaterialQuantity)
- {
- Console.WriteLine($"{item.Key}: {item.Value}");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement