Advertisement
Aborigenius

RoliTheCoderOrdered

Aug 31st, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.27 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace RoliTheCoder
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             string input = Console.ReadLine();
  14.             var events = new Dictionary<string, Dictionary<string, List<string>>>();
  15.             while (input != "Time for Code")
  16.             {
  17.                 string[] inputs = input.Split(' ').ToArray();
  18.                 string id = inputs[0];
  19.                 string eventName = inputs[1];
  20.                 if (eventName[0] != '#')
  21.                 {
  22.                     goto Enter;
  23.                 }
  24.                 if (!events.ContainsKey(id))
  25.                 {
  26.                     events.Add(id, new Dictionary<string, List<string>>());
  27.                     events[id].Add(eventName, new List<string>());
  28.                 }
  29.                 if (!events[id].ContainsKey(eventName))
  30.                 {
  31.                     goto Enter;
  32.                 }
  33.                 if (events.ContainsKey(id) && events[id].ContainsKey(eventName))
  34.                 {
  35.                     for (int i = 2; i < inputs.Length; i++)
  36.                     {
  37.                         string participant = inputs[i];
  38.                         if (!events[id][eventName].Contains(participant))
  39.                         {
  40.                             events[id][eventName].Add(participant);
  41.                         }
  42.                     }
  43.                 }
  44.                 Enter:
  45.                 input = Console.ReadLine();
  46.             }
  47.             foreach (var item in events.OrderByDescending(x => x.Value.Values.Sum(p => p.Count)))
  48.             {
  49.                 Dictionary<string, List<string>> result = item.Value;
  50.  
  51.        
  52.                 foreach (var v in result)
  53.                 {
  54.                     string eve = v.Key;
  55.                    eve = eve.Substring(1);
  56.                     Console.WriteLine($"{eve} - {v.Value.Count}");
  57.                     foreach (var p in v.Value.OrderBy(n => n))
  58.                     {
  59.                         Console.WriteLine(p);
  60.                     }
  61.                 }
  62.             }
  63.         }
  64.     }
  65. }
  66. // foreach (var res in eventList.OrderByDescending(x => x.Value.Values.Sum(p => p.Count)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement