Advertisement
Prohause

Exam 14010.2018 Problem 02

Oct 14th, 2018
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. ?using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace Problem_02
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. string input;
  12. var allUsers = new Dictionary<string,Dictionary<string,long>>();
  13. var banned = new List<string>();
  14. while (!(input=Console.ReadLine()).Equals("end"))
  15. {
  16. if (input.StartsWith("ban"))
  17. {
  18. var bannedUser = input.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries)[1];
  19. //banned.Add(bannedUser);
  20. if (!allUsers.ContainsKey(bannedUser)) continue;
  21. allUsers.Remove(bannedUser);
  22.  
  23. }
  24. else
  25. {
  26. var tokens = input.Split(" -> ");
  27. var user = tokens[0];
  28. var tag = tokens[1];
  29. var likes = long.Parse(tokens[2]);
  30.  
  31. if (!allUsers.ContainsKey(user))
  32. {
  33. allUsers.Add(user,new Dictionary<string, long>());
  34. }
  35.  
  36. if (!allUsers[user].ContainsKey(tag))
  37. {
  38. allUsers[user].Add(tag,0);
  39. }
  40.  
  41. allUsers[user][tag] += likes;
  42. }
  43. }
  44.  
  45. foreach (var user in allUsers.OrderByDescending(p=>p.Value.Values.Sum()).ThenBy(p=>p.Value.Count))
  46. {
  47. Console.WriteLine(user.Key);
  48. foreach (var tag in user.Value)
  49. {
  50. Console.WriteLine($"- {tag.Key}: {tag.Value}");
  51. }
  52. }
  53. }
  54. }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement