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.Text;
- public class Program
- {
- public static void Main()
- {
- Dictionary<string,Dictionary<string,int>> nameTagLikes = new Dictionary<string,Dictionary<string,int>>();
- while(true)
- {
- string command = Console.ReadLine();
- if(command == "end")
- {
- break;
- }
- if(!command.Contains("ban"))
- {
- string[] tokens = command.Split(" -> ");
- string name = tokens[0];
- string tag = tokens[1];
- int likes = int.Parse(tokens[2]);
- if(!nameTagLikes.ContainsKey(name))
- {
- nameTagLikes.Add(name, new Dictionary<string,int>());
- nameTagLikes[name].Add(tag,likes);
- }
- else if(nameTagLikes.ContainsKey(name)==true && nameTagLikes[name].ContainsKey(tag)==false)
- {
- nameTagLikes[name].Add(tag,likes);
- }
- else if (nameTagLikes.ContainsKey(name)==true && nameTagLikes[name].ContainsKey(tag)==true)
- {
- nameTagLikes[name][tag]+=likes;
- }
- }
- else
- {
- string[] tokens = command.Split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries);
- string name = tokens[1];
- if(nameTagLikes.ContainsKey(name))
- {
- nameTagLikes.Remove(name);
- }
- }
- }
- foreach(var kvp in nameTagLikes.OrderByDescending(x=>x.Value.Values.Sum()).ThenBy(x=>x.Value.Keys.Count))
- {
- string name = kvp.Key;
- Console.WriteLine(name);
- foreach(var inner in kvp.Value)
- {
- Console.WriteLine("- {0}: {1}",inner.Key,inner.Value);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement