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 _11.Dragon_Army
- {
- class Program
- {
- static void Main(string[] args)
- {
- int n = int.Parse(Console.ReadLine());
- var newdragon = new List<Dragon>();
- List<string> types = new List<string>();
- for (int i = 0; i < n; i++)
- {
- string[] dragon = Console.ReadLine().Split(' ').ToArray();
- int damage = 0;
- int health = 0;
- int armor = 0;
- string type = dragon[0];
- string name = dragon[1];
- try
- {
- damage = int.Parse(dragon[2]);
- }
- catch (Exception)
- {
- damage = 45;
- }
- try
- {
- health = int.Parse(dragon[3]);
- }
- catch (Exception)
- {
- health = 250;
- }
- try
- {
- armor = int.Parse(dragon[4]);
- }
- catch (Exception)
- {
- armor = 10;
- }
- if (!newdragon.Any(x => x.Name == name && x.Type==type))
- {
- newdragon.Add(new Dragon(name, type, damage, health, armor));
- types.Add(type);
- }
- else
- {
- newdragon.Where(x => x.Name == name).Select(x => { x.Damage = damage; return x; }).ToList();
- newdragon.Where(x => x.Name == name).Select(x => { x.Health = health; return x; }).ToList();
- newdragon.Where(x => x.Name == name).Select(x => { x.Armor = armor; return x; }).ToList();
- }
- }
- types = types.Distinct().ToList();
- foreach (var type in types)
- {
- var dragons = newdragon.Where(x => x.Type == type).OrderBy(x => x.Name);
- var averageStr = dragons.Average(x => x.Damage);
- var averageHealth = dragons.Average(x => x.Health);
- var averageArmor = dragons.Average(x => x.Armor);
- Console.WriteLine($"{type}::({averageStr:f2}/{averageHealth:f2}/{averageArmor:f2})");
- foreach (var dragon in dragons)
- {
- Console.WriteLine($"-{dragon.Name} -> damage: {dragon.Damage}, health: {dragon.Health}, armor: {dragon.Armor}");
- }
- }
- }
- }
- class Dragon
- {
- public string Type { get; set; }
- public string Name { get; set; }
- public int Damage { get; set; }
- public int Health { get; set; }
- public int Armor { get; set; }
- public Dragon(string name, string type, int damage, int health, int armor)
- {
- Type = type;
- Name = name;
- Damage = damage;
- Health = health;
- Armor = armor;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement