Advertisement
sivancheva

Karaoke

Sep 24th, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 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.  
  8. class SongAward
  9. {
  10. public string Song { get; set; }
  11. public string Award { get; set; }
  12. }
  13. namespace _02_SoftUni_Karaoke
  14. {
  15. class Program
  16. {
  17. static void Main(string[] args)
  18. {
  19.  
  20. var participantsList = Console.ReadLine().Split(',').Select(x => x.Trim()).ToList();
  21. var songList = Console.ReadLine().Split(',').Select(x => x.Trim()).ToList();
  22.  
  23. var result = new Dictionary<string, List<SongAward>>();
  24.  
  25. var input = Console.ReadLine();
  26. while (input != "dawn")
  27. {
  28.  
  29. var candidateToSingList = input.Split(',').Select(x => x.Trim()).ToList();
  30. if (candidateToSingList.Count != 3)
  31. {
  32. input = Console.ReadLine();
  33. continue;
  34. }
  35. var participantName = candidateToSingList[0];
  36. var song = candidateToSingList[1];
  37. var award = candidateToSingList[2];
  38.  
  39.  
  40. if (!participantsList.Contains(participantName) || !songList.Contains(song))
  41. {
  42. input = Console.ReadLine();
  43. continue;
  44. }
  45.  
  46. var newSongAward = new SongAward();
  47. newSongAward.Song = song;
  48. newSongAward.Award = award;
  49.  
  50. if (!result.ContainsKey(participantName))
  51. {
  52. result.Add(participantName, new List<SongAward>());
  53.  
  54. }
  55. result[participantName].Add(newSongAward);
  56.  
  57. input = Console.ReadLine();
  58.  
  59. Console.WriteLine();
  60. }
  61.  
  62. if (result.Count == 0)
  63. {
  64. Console.WriteLine("No awards");
  65. }
  66.  
  67.  
  68. foreach (var item in result)
  69. {
  70.  
  71. foreach (var award in item.Value)
  72. {
  73. var awardCount = award.Award.Distinct().Count();
  74. var awardList = award.Award.Distinct().OrderBy(n => n).ToList();
  75.  
  76. Console.WriteLine($"Vankata: {awardCount} awards");
  77.  
  78. foreach (var a in awardList)
  79. {
  80. Console.WriteLine($"--{a}");
  81. }
  82.  
  83. }
  84. }
  85.  
  86. }
  87. }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement