Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Text;
- using System.Text.RegularExpressions;
- namespace CubicMessages
- {
- public class CubicMessages
- {
- public static void Main()
- {
- StringBuilder result = new StringBuilder();
- Regex validateMessage = null;
- string messageInfo = Console.ReadLine();
- while (messageInfo != "Over!")
- {
- int lenOfMessage = int.Parse(Console.ReadLine());
- validateMessage = new Regex(
- @"^([0-9]+)([a-zA-Z]{" + lenOfMessage + @"})([^a-zA-Z]*)$");
- if (!validateMessage.IsMatch(messageInfo))
- {
- messageInfo = Console.ReadLine();
- continue;
- }
- Match validMessage = validateMessage.Match(messageInfo);
- string message = validMessage.Groups[2].ToString();
- string verificationCode = string.Concat(validMessage.Groups[1].ToString(),
- validMessage.Groups[3].ToString());
- StringBuilder currResult = new StringBuilder();
- for (int currSymbol = 0; currSymbol < verificationCode.Length; currSymbol++)
- {
- char symbol = verificationCode[currSymbol];
- if (!char.IsDigit(symbol))
- {
- continue;
- }
- int index = int.Parse(symbol.ToString());
- try
- {
- currResult.Append(message[index]);
- }
- catch (IndexOutOfRangeException)
- {
- currResult.Append(" ");
- }
- }
- result.AppendLine($"{message} == {currResult}");
- messageInfo = Console.ReadLine();
- }
- Console.WriteLine(result.ToString().TrimEnd('\r', '\n'));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement