Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace dragonArmy
- {
- class Program
- {
- static void Main(string[] args)
- {
- int dragonsCount = int.Parse(Console.ReadLine());
- var dragons = new Dictionary<string, SortedDictionary<string, int[]>>();
- for (int i = 0; i < dragonsCount; i++)
- {
- var input = Console.ReadLine().Split(new char[] { ' ' },StringSplitOptions.RemoveEmptyEntries).ToList();
- string type = input[0];
- string name = input[1];
- int health = 250;
- int damage = 45;
- int armor = 10;
- if (input[2] != "null")
- {
- damage = int.Parse(input[2]);
- }
- if (input[3] != "null")
- {
- health = int.Parse(input[3]);
- }
- if (input[4] != "null")
- {
- armor = int.Parse(input[4]);
- }
- if (dragons.ContainsKey(type)==false)
- {
- dragons.Add(type, new SortedDictionary<string, int[]>());
- }
- if (dragons[type].ContainsKey(name))
- {
- dragons[type][name][0] =damage;
- dragons[type][name][1] =health;
- dragons[type][name][2] =armor;
- }
- else
- {
- dragons[type].Add(name, new int[] { damage, health, armor });
- }
- }
- foreach (var drag in dragons)
- {
- var avgrD = drag.Value.Select(x => x.Value[0]).Average();
- double avgrH = drag.Value.Select(x => x.Value[1]).Average();
- double avgrA = drag.Value.Select(x => x.Value[2]).Average();
- Console.WriteLine($"{drag.Key}::({avgrD:F}/{avgrH:f}/{avgrA:f})");
- foreach (var item in drag.Value)
- {
- Console.WriteLine($"-{item.Key} -> damage: {item.Value[0]}, health: {item.Value[1]}, armor: {item.Value[2]}");
- }
- }
- }
- }
- class Dragon
- {
- public string Name { get; set; }
- public string Type { get; set; }
- public double Damage { get; set; }
- public double Health { get; set; }
- public double Armor { get; set; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment