Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace ConsoleApp46
- {
- class Program
- {
- public static void Main()
- {
- var singers = Console.ReadLine().Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
- .Select(s => s.Trim()).ToArray();
- var songs = Console.ReadLine().Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
- .Select(s => s.Trim()).ToArray();
- var winners = new Dictionary<string, HashSet<string>>();
- while (true)
- {
- string line = Console.ReadLine();
- if (line == "dawn")
- break;
- var tokens = line.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Select(t => t.Trim())
- .ToArray();
- var singer = tokens[0];
- var song = tokens[1];
- var award = tokens[2];
- if (!singers.Contains(singer) || !songs.Contains(song))
- continue;
- if (!winners.ContainsKey(singer))
- winners.Add(singer, new HashSet<string>());
- winners[singer].Add(award);
- }
- if (winners.Count > 0)
- PrintWinners(winners);
- else
- Console.WriteLine("No awards");
- }
- private static void PrintWinners(Dictionary<string, HashSet<string>> winners)
- {
- foreach (var winner in winners.OrderByDescending(w => w.Value.Count).ThenBy(w => w.Key))
- {
- Console.WriteLine($"{winner.Key}: {winner.Value.Count} awards");
- var awards = winner.Value;
- foreach (var award in awards.OrderBy(s => s))
- {
- Console.WriteLine($"--{award}");
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement