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 _04.RoliTheCoder
- {
- class Program
- {
- static void Main(string[] args)
- {
- var eventsBook = new Dictionary<string, Dictionary<string, List<string>>>();
- // var namesAndParticipants = new Dictionary<string, string>();
- while (true)
- {
- var input = Console.ReadLine().Split("#".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
- if (input[0] == "Time for Code")
- {
- break;
- }
- if (input.Length < 2)
- {
- continue;
- }
- var eventID = input[0].Trim();
- var secondPartSplit = input[1].Split("@".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
- //if (secondPartSplit.Length<2) //check this one!!!
- //{
- // continue;
- //}
- var eventName = secondPartSplit[0].Trim();
- List<string> participants = new List<string>();
- for (int i = 1; i < secondPartSplit.Length; i++)
- {
- participants.Add(secondPartSplit[i].Trim());
- }
- if (!eventsBook.ContainsKey(eventID))
- {
- eventsBook.Add(eventID, new Dictionary<string, List<string>>());
- eventsBook[eventID].Add(eventName, new List<string>());
- foreach (var name in participants)
- {
- eventsBook[eventID][eventName].Add(name);
- }
- continue;
- }
- if (!eventsBook[eventID].ContainsKey(eventName))
- {
- continue;
- }
- if (eventsBook[eventID].ContainsKey(eventName))
- {
- foreach (var name in participants)
- {
- if (!eventsBook[eventID][eventName].Contains(name))
- {
- eventsBook[eventID][eventName].Add(name);
- }
- }
- }
- }
- foreach (var kvp in eventsBook)
- {
- var eventNames = kvp.Value;
- foreach (var party in eventNames.OrderByDescending(x => x.Value.Count).ThenBy(x => x.Key))
- {
- var participants = party.Value;
- Console.WriteLine($"{party.Key} - {party.Value.Count}");
- foreach (var person in participants.OrderBy(x => x))
- {
- Console.WriteLine($"@{person}");
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement