Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- using System.Collections.Generic;
- using System.IO;
- namespace V_Logger
- {
- public class Program
- {
- static void Main(string[] args)
- {
- HashSet<Vlogger> vloggers = new HashSet<Vlogger>();
- var input = Console.ReadLine().Split(" ").ToArray();
- while (input[0] != "Statistics")
- {
- switch(input[1])
- {
- case "joined":
- Vlogger newVlogger = new Vlogger(input[0]);
- vloggers.Add(newVlogger);
- break;
- case "followed":
- //Sofrona followed EmilConrad
- var following = input[0]; //Sofrona
- var followed = input[2];
- if (followed != following)
- {
- Vlogger vlogger1 = vloggers.Where(v => v.Name == following).FirstOrDefault();
- Vlogger vlogger2 = vloggers.Where(v => v.Name == followed).FirstOrDefault();
- vlogger1.AddFollowing(followed);
- vlogger2.AddFollower(following);
- }
- break;
- }
- input = Console.ReadLine().Split(" ").ToArray();
- }
- int maxFollowers = int.MinValue;
- foreach(var item in vloggers)
- {
- if (item.Followers.Count > maxFollowers)
- {
- maxFollowers = item.Followers.Count;
- }
- }
- Vlogger famous = vloggers.Where(v => v.Followers.Count == maxFollowers).FirstOrDefault();
- Console.WriteLine($"{famous.Name} : {famous.Followers.Count} followers, {famous.Following.Count} following");
- foreach(var follower in famous.Followers)
- {
- Console.WriteLine($" {follower}");
- }
- }
- }
- public class Vlogger
- {
- public string Name { get; set; }
- public SortedSet<string> Followers { get; set; }
- public HashSet<string> Following { get; set; }
- public Vlogger(string name)
- {
- this.Name = Name;
- this.Followers = new SortedSet<string>();
- this.Following = new HashSet<string>();
- }
- public void AddFollower (string name)
- {
- this.Followers.Add(name);
- }
- public void AddFollowing (string name)
- {
- this.Following.Add(name);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement