Advertisement
Ivakis

Softuni Karaoke

Nov 3rd, 2017
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.04 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 P02_SoftuniKaraoke
  8. {
  9.     class SoftuniKaraoke
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             var singers = Console.ReadLine()
  14.                 .Split(", ".ToCharArray()
  15.                 , StringSplitOptions.RemoveEmptyEntries).ToList();
  16.  
  17.             var songs = Console.ReadLine()
  18.                 .Split(',').ToList().Select(a => a.TrimStart());
  19.  
  20.  
  21.             var singersSongsAwards = new Dictionary<string, HashSet<string>>();
  22.  
  23.             var input = Console.ReadLine().Split(",".ToCharArray()
  24.                 , StringSplitOptions.RemoveEmptyEntries).ToList();
  25.  
  26.             while (input[0] != "dawn")
  27.             {
  28.                 var singer = input[0];
  29.                 var song = input[1].TrimStart();
  30.                 var award = input[2].TrimStart();
  31.  
  32.                 if (singers.Contains(singer) && songs.Contains(song))
  33.                 {
  34.                     if (!singersSongsAwards.ContainsKey(singer))
  35.                     {
  36.                         singersSongsAwards.Add(singer, new HashSet<string>());
  37.                     }
  38.  
  39.                     singersSongsAwards[singer].Add(award);
  40.                    
  41.  
  42.                 }
  43.  
  44.                 input = Console.ReadLine().Split(",".ToCharArray()
  45.                 , StringSplitOptions.RemoveEmptyEntries).ToList();
  46.             }
  47.  
  48.             if (singersSongsAwards.Count == 0)
  49.             {
  50.                 Console.WriteLine("No awards");
  51.                     return;
  52.             }
  53.  
  54.             foreach (var users in singersSongsAwards.OrderByDescending(s => s.Value.Count).ThenBy(x => x.Key))
  55.             {
  56.                 Console.WriteLine($"{users.Key}: {users.Value.Count()} awards");  // imeto na usera + count na nagradite
  57.  
  58.                 foreach (var item in users.Value.OrderBy(x => x))
  59.                 {
  60.                     Console.WriteLine("--{0}", item);
  61.  
  62.                 }
  63.  
  64.             }
  65.         }
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement