Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2020
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4. using System.IO;
  5.  
  6.  
  7. namespace V_Logger
  8. {
  9. public class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. HashSet<Vlogger> vloggers = new HashSet<Vlogger>();
  14. var input = Console.ReadLine().Split(" ").ToArray();
  15.  
  16. while (input[0] != "Statistics")
  17. {
  18. switch(input[1])
  19. {
  20. case "joined":
  21. Vlogger newVlogger = new Vlogger(input[0]);
  22.  
  23. vloggers.Add(newVlogger);
  24.  
  25. break;
  26.  
  27. case "followed":
  28. //Sofrona followed EmilConrad
  29. var following = input[0]; //Sofrona
  30. var followed = input[2];
  31. if (followed != following)
  32. {
  33. Vlogger vlogger1 = vloggers.Where(v => v.Name == following).FirstOrDefault();
  34. Vlogger vlogger2 = vloggers.Where(v => v.Name == followed).FirstOrDefault();
  35. vlogger1.AddFollowing(followed);
  36. vlogger2.AddFollower(following);
  37. }
  38. break;
  39.  
  40. }
  41. input = Console.ReadLine().Split(" ").ToArray();
  42. }
  43. int maxFollowers = int.MinValue;
  44.  
  45. foreach(var item in vloggers)
  46. {
  47. if (item.Followers.Count > maxFollowers)
  48. {
  49. maxFollowers = item.Followers.Count;
  50. }
  51. }
  52. Vlogger famous = vloggers.Where(v => v.Followers.Count == maxFollowers).FirstOrDefault();
  53.  
  54. Console.WriteLine($"{famous.Name} : {famous.Followers.Count} followers, {famous.Following.Count} following");
  55.  
  56. foreach(var follower in famous.Followers)
  57. {
  58. Console.WriteLine($" {follower}");
  59. }
  60. }
  61. }
  62. public class Vlogger
  63. {
  64. public string Name { get; set; }
  65. public SortedSet<string> Followers { get; set; }
  66. public HashSet<string> Following { get; set; }
  67.  
  68. public Vlogger(string name)
  69. {
  70. this.Name = Name;
  71. this.Followers = new SortedSet<string>();
  72. this.Following = new HashSet<string>();
  73. }
  74.  
  75. public void AddFollower (string name)
  76. {
  77. this.Followers.Add(name);
  78. }
  79.  
  80. public void AddFollowing (string name)
  81. {
  82. this.Following.Add(name);
  83. }
  84. }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement