Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace _05.Dict_Ref_Advanced
- {
- class Program
- {
- public static void Main(string[] args)
- {
- string input = Console.ReadLine();
- string[] newInput = input.Split(new char[] { '-', '>', ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
- Dictionary<string, List<int>> keyValue = new Dictionary<string, List<int>>();
- while (input != "end")
- {
- int integer;
- if (int.TryParse(newInput[1], out integer))
- {
- List<int> values = new List<int>();
- for (int i = 1; i < newInput.Length; i++)
- {
- values.Add(int.Parse(newInput[i]));
- }
- //Console.WriteLine(newInput[0]);
- //foreach (var a in newInput)
- //{
- // Console.WriteLine(a);
- //}
- if (!keyValue.ContainsKey(newInput[0]))
- {
- keyValue.Add(newInput[0], values);
- }
- else
- {
- for (int j = 0; j < values.Count; j++)
- {
- keyValue[newInput[0]].Add(values[j]);
- }
- }
- }
- else
- {
- if (!keyValue.ContainsKey(newInput[0]) && keyValue.ContainsKey(newInput[1]))
- {
- keyValue.Add(newInput[0], keyValue[newInput[1]]);
- }
- else if (keyValue.ContainsKey(newInput[0]) && keyValue.ContainsKey(newInput[1]))
- {
- keyValue.Add(newInput[0], keyValue[newInput[1]]);
- }
- }
- input = Console.ReadLine();
- newInput = input.Split(new char[] { '-', '>', ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
- }
- foreach (KeyValuePair<string, List<int>> val in keyValue)
- {
- Console.Write("{0} === ", val.Key);
- List<int> vals = val.Value;
- for(int f = 0; f < vals.Count; f++)
- {
- if (f == vals.Count - 1)
- {
- Console.Write(vals[f]);
- }
- else
- {
- Console.Write(vals[f] + ", ");
- }
- }
- Console.WriteLine();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement