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.Text.RegularExpressions;
- using System.Threading.Tasks;
- namespace _02_SpyGram
- {
- class Program
- {
- static void Main(string[] args)
- {
- var pattern = @"^TO: ([A-Z]+); MESSAGE: (.+);$";
- var validatoin = new Regex(pattern);
- var pendingMessages = new Dictionary<string, List<string>>();
- var key = Console.ReadLine();
- while (true)
- {
- var inputLine = Console.ReadLine();
- if (inputLine == "END")
- {
- break;
- }
- var isMatch = validatoin.IsMatch(inputLine);
- if (!isMatch)
- {
- continue;
- }
- var senderName = validatoin.Match(inputLine).Groups[1].ToString();
- var sb = new StringBuilder();
- var simbolOfKey = key.ToCharArray();
- var positionOfSimbols = 0;
- for (int i = 0; i < key.Length; i++)
- {
- var result = (char)(inputLine[positionOfSimbols] + int.Parse(simbolOfKey[i].ToString()));
- sb.Append(result);
- if (i == key.Length - 1)
- {
- i = -1;
- }
- positionOfSimbols++;
- if (positionOfSimbols == inputLine.Length)
- {
- break;
- }
- }
- if (!pendingMessages.ContainsKey(senderName))
- {
- pendingMessages[senderName] =new List<string>();
- }
- pendingMessages[senderName].Add(sb.ToString());
- }
- foreach (var item in pendingMessages.OrderBy(x => x.Key))
- {
- foreach (var message in item.Value)
- {
- Console.WriteLine(message);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment