IPetrov007

Cubic

Apr 23rd, 2017
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.57 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace _04_CubicMessages
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. while (true)
  14. {
  15. var input = Console.ReadLine();
  16. if (input == "Over!")
  17. {
  18. break;
  19. }
  20. int num = int.Parse(Console.ReadLine());
  21. var digits = "";
  22. var text = "";
  23. var number = -1;
  24. if (int.TryParse(input[0].ToString(), out number))
  25. {
  26.  
  27. foreach (var character in input)
  28. {
  29. if (int.TryParse(character.ToString(), out number))
  30. {
  31. digits += character;
  32. }
  33. else
  34. {
  35. break;
  36. }
  37. }
  38. }
  39. else
  40. {
  41. continue;
  42. }
  43.  
  44.  
  45. var secondPart = input.Remove(0, digits.Length);
  46. foreach (var character in secondPart)
  47. {
  48. var isCapitalLetter = character > 64 && character < 91;
  49. var isSmallLetter = character > 96 && character < 123;
  50. if (isCapitalLetter || isSmallLetter)
  51. {
  52. text += character;
  53. }
  54. else
  55. {
  56. break;
  57. }
  58. }
  59. if (text.Length != num)
  60. {
  61. break;
  62. }
  63. var lastPart = secondPart.Remove(0, text.Length);
  64. var isLetter = false;
  65. foreach (var character in lastPart)
  66. {
  67. var isCapitalLetter = character > 64 && character < 91;
  68. var isSmallLetter = character > 96 && character < 123;
  69. if (isCapitalLetter || isSmallLetter)
  70. {
  71. isLetter = true;
  72. break;
  73. }
  74. }
  75. if (isLetter)
  76. {
  77. continue;
  78. }
  79. if ((digits.Length + text.Length + lastPart.Length) != input.Length)
  80. {
  81. break;
  82. }
  83. var lastDigits = "";
  84. foreach (var character in lastPart)
  85. {
  86. number = -1;
  87. if (int.TryParse(character.ToString(), out number))
  88. {
  89. lastDigits += character;
  90. }
  91. }
  92. var allDigits = digits + lastDigits;
  93. var verificationCode = "";
  94.  
  95. foreach (var index in allDigits)
  96. {
  97. var digit = int.Parse(index.ToString());
  98. if (digit < text.Length)
  99. {
  100. verificationCode += text[digit];
  101. }
  102. else
  103. {
  104. verificationCode += " ";
  105. }
  106. }
  107. Console.WriteLine($"{text} == {verificationCode}");
  108. }
  109.  
  110. }
  111. }
  112. }
Advertisement
Add Comment
Please, Sign In to add comment