Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- using System.Text;
- using System.Text.RegularExpressions;
- public class Program
- {
- public static void Main()
- {
- var input = ReadInput();
- var specialSymbols = new[] { '$', '%', '&', '\'' };
- Regex rgx = new Regex(@"([$%&'])([^$%&']+)\1");
- StringBuilder output = new StringBuilder();
- Match m = rgx.Match(input);
- while (m.Success)
- {
- var message = m.Value;
- if (message.Length > 2)
- {
- var messageBody = message.Substring(1, message.Length - 2);
- var charWeight = Array.IndexOf(specialSymbols, message[0]) + 1;
- var decrypted = DecryptMessage(messageBody, charWeight);
- output.Append($"{decrypted} ");
- }
- m = rgx.Match(input, m.Index + m.Length);
- }
- Console.WriteLine(output.ToString());
- }
- private static string ReadInput()
- {
- var sb = new StringBuilder();
- string input;
- while (!(input = Console.ReadLine()).Equals("burp"))
- {
- sb.Append(input);
- }
- string allLines = sb.ToString();
- allLines = Regex.Replace(allLines, @"\s{2,}", " ");
- return allLines;
- }
- private static string DecryptMessage(string messageBody, int charWeight)
- {
- StringBuilder result = new StringBuilder(messageBody.Length);
- foreach (var letter in messageBody)
- {
- result.Append((char)(letter + charWeight));
- charWeight = -charWeight;
- }
- return result.ToString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement