Advertisement
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()
- {
- List<Player> players = new List<Player>();
- while (true)
- {
- string input = Console.ReadLine();
- if (input == "Season end")
- {
- break;
- }
- if (input.Contains('>'))
- {
- string[] tokens = input.Split(new char[] {'>','-', ' '}, StringSplitOptions.RemoveEmptyEntries).ToArray();
- string name = tokens[0];
- string position = tokens[1];
- int skill = int.Parse(tokens[2]);
- Player player = players.FirstOrDefault(p => p.Name == name);
- if (player == null)
- {
- Player newPlayer = new Player(name);
- var pos = newPlayer.Position;
- pos.Add(position, skill);
- players.Add(newPlayer);
- }
- else
- {
- if (player.Position.ContainsKey(position) == false)
- {
- player.Position.Add(position, skill);
- }
- else if (player.Position.ContainsKey(position) && player.Position[position] < skill)
- {
- player.Position[position] = skill;
- }
- }
- }
- else if (input.Contains(" vs "))
- {
- string[] tokens = input.Split();
- string first = tokens[0];
- string second = tokens[2];
- Player player1 = players.Find(p => p.Name == first);
- Player player2 = players.Find(p => p.Name == second);
- if (players.Any(p => p.Name != player1.Name) && players.Any(x => x.Name != player2.Name))
- {
- break;
- }
- else
- {
- foreach (var player1Pos in player1.Position)
- {
- if (player2.Position.ContainsKey(player1Pos.Key))
- {
- var player2Position = player2.Position.FirstOrDefault(p => p.Key == player1Pos.Key);
- if (player2Position.Value < player1Pos.Value)
- {
- players.Remove(player2);
- }
- else if (player2Position.Value > player1Pos.Value)
- {
- players.Remove(player1);
- }
- }
- }
- }
- ///to be sorted
- }
- }
- }
- }
- public class Player
- {
- public string Name { get; set; }
- public Dictionary<string, int> Position { get; set; }
- public Player(string name)
- {
- this.Name = name;
- this.Position = new Dictionary<string, int>();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement