Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- public class Program
- {
- public static void Main(string[] args)
- {
- int inputNum=int.Parse(Console.ReadLine());
- //legion->soldier->count->activity
- //Dictionary<string,Dictionary<string,Dictionary<string,int>>>legions=new Dictionary<int,Dictionary<string,Dictionary<string,int>>>();
- List<Legion>allLegions=new List<Legion>();
- for(int i=0;i<inputNum;i++)
- {
- string[]inputTokens=Console.ReadLine().Split(new string []{"=","->",":"},StringSplitOptions.RemoveEmptyEntries).ToArray();
- int activity=int.Parse(inputTokens[0]);
- string legionName=inputTokens[1];
- string soldiertype=inputTokens[2];
- long soldierCount=long.Parse(inputTokens[3]);
- if(!allLegions.Any(x=>x.Name==legionName))
- {
- Legion legion=new Legion(legionName,activity);
- Soldier soldier=new Soldier(soldiertype,soldierCount);
- legion.soldiers.Add(soldier);
- }
- else
- {
- Legion legion=allLegions.FirstOrDefault(x=>x.Name==legionName);
- int currentActivity=legion.Activity;
- var compare= currentActivity<activity?legion.Activity=activity:legion.Activity=currentActivity;
- if(!legion.soldiers.All(x=>x.Type==soldiertype))
- {
- legion.soldiers.Add(new Soldier(soldiertype,soldierCount));
- }
- else
- {
- Soldier soldier=legion.soldiers.FirstOrDefault(x=>x.Type==soldiertype);
- soldier.Number+=soldierCount;
- }
- }
- }
- string []command=Console.ReadLine().Split(new[]{' ','/'},StringSplitOptions.RemoveEmptyEntries).ToArray();
- if(command.Length==1)
- {
- string soldierWanted=command[0];
- foreach(var s in allLegions.Where(x=>x.soldiers.Any(t=>t.Type==soldierWanted)))
- {
- Console.WriteLine("{0} :{1}",s.Activity,s.Name);
- }
- }
- }
- }
- public class Legion
- {
- public string Name{get;set;}
- public int Activity{get;set;}
- public List<Soldier>soldiers{get;set;}
- public Legion(string name,int activity)
- {
- this.Activity=activity;
- this.Name=name;
- this.soldiers=new List<Soldier>();
- }
- }
- public class Soldier
- {
- public string Type{get;set;}
- public long Number{get;set;}
- public Soldier(string type,long number)
- {
- this.Type=type;
- this.Number=number;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment