Advertisement
alidzhikov

ActivityTracker

May 8th, 2015
436
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.91 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. class ActivityTracker
  5. {
  6.     static void Main()
  7.     {
  8.         SortedDictionary<int, SortedDictionary<string, int>> dataDictionary =
  9.                                             new SortedDictionary<int, SortedDictionary<string, int>>();
  10.        
  11.         int dataLinesNumber = int.Parse(Console.ReadLine());
  12.         string lineContents = String.Empty;
  13.         string[] lineTokens;
  14.         int month = 0;
  15.         string user = String.Empty;
  16.         int distance = 0;
  17.         for (int i = 0; i < dataLinesNumber; i++)
  18.         {
  19.             lineContents = Console.ReadLine();
  20.             lineTokens = lineContents.Split(new char[] {' ', '/'}, StringSplitOptions.RemoveEmptyEntries);
  21.             month = int.Parse(lineTokens[1]);
  22.             user = lineTokens[3];
  23.             distance = int.Parse(lineTokens[4]);
  24.  
  25.             if (!dataDictionary.ContainsKey(month))
  26.             {
  27.                 dataDictionary[month] = new SortedDictionary<string, int>();
  28.             }
  29.  
  30.             if (!dataDictionary[month].ContainsKey(user))
  31.             {
  32.                 dataDictionary[month][user] = distance;
  33.             }
  34.             else
  35.             {
  36.                 dataDictionary[month][user] += distance;
  37.             }
  38.         }
  39.  
  40.         bool isFirstPair = true;
  41.         foreach (var dataPair in dataDictionary)
  42.         {
  43.             Console.Write("{0}: ", dataPair.Key);
  44.             isFirstPair = true;
  45.             foreach (var subPair in dataPair.Value)
  46.             {
  47.                 if (isFirstPair)
  48.                 {
  49.                     Console.Write("{0}({1})", subPair.Key, subPair.Value);
  50.                     isFirstPair = false;
  51.                 }
  52.                 else
  53.                 {
  54.                     Console.Write(", {0}({1})", subPair.Key, subPair.Value);
  55.                 }
  56.             }
  57.             Console.WriteLine();
  58.         }
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement