Advertisement
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 Exercise11
- {
- class Dragons
- {
- public string Name { get; set; }
- public decimal Damage { get; set; } = 45;
- public decimal Health { get; set; } = 250;
- public decimal Armor { get; set; } = 10;
- }
- class Program
- {
- static void Main(string[] args)
- {
- int n = int.Parse(Console.ReadLine());
- var dragons = new Dictionary<string, List<Dragons>>();
- for (int i = 0; i < n; i++)
- {
- var dragonsList = new List<Dragons>();
- var dragonAttr = Console.ReadLine().Split(' ');
- var type = dragonAttr[0];
- var drag = new Dragons();
- string name = dragonAttr[1];
- decimal damage = 0;
- decimal hp = 0;
- decimal armor = 0;
- if (dragonAttr[2] == "null")
- {
- damage = drag.Damage;
- }
- else
- {
- damage = decimal.Parse(dragonAttr[2]);
- }
- if (dragonAttr[3] == "null")
- {
- hp = drag.Health;
- }
- else
- {
- hp = decimal.Parse(dragonAttr[3]);
- }
- if (dragonAttr[4] == "null")
- {
- armor = drag.Armor;
- }
- else
- {
- armor = decimal.Parse(dragonAttr[4]);
- }
- var currentDragon = ReadDragons(name, damage, hp, armor);
- dragonsList.Add(currentDragon);
- if (!dragons.ContainsKey(type))
- {
- dragons.Add(type, dragonsList);
- }
- else
- {
- if (!dragons[type].Contains(dragonsList.Contains(name)))
- {
- dragons[type].Add(currentDragon);
- }
- else
- {
- dragonsList.Add(currentDragon);
- dragons[type] = dragonsList;
- }
- }
- }
- foreach (var item in dragons)
- {
- Console.WriteLine($"{item.Key}::({item.Value.Average(x => x.Damage):F2}/{item.Value.Average(x => x.Health):F2}/{item.Value.Average(x => x.Armor):F2})");
- foreach (var drake in item.Value.OrderBy(x => x.Name))
- {
- Console.WriteLine($"-{drake.Name} -> damage: {drake.Damage}, health: {drake.Health}, armor: {drake.Armor}");
- }
- }
- }
- static Dragons ReadDragons(string name, decimal damage, decimal hp, decimal armor)
- {
- return new Dragons
- {
- Name = name,
- Damage = damage,
- Health = hp,
- Armor = armor
- };
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement