Advertisement
Guest User

Untitled

a guest
Mar 4th, 2015
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading;
  6. using System.Numerics;
  7.  
  8. //0 f
  9. //1 bIN
  10. //2 oBJEC
  11. //3 mNTRAVL
  12. //4 lPVKNQ
  13. //5 pNWE
  14. //6 hT
  15.  
  16. class Program
  17. {
  18. static void Main()
  19. {
  20. string input = Console.ReadLine();
  21. StringBuilder text = new StringBuilder(input);
  22. BigInteger number = 0;
  23. BigInteger counter = 1;
  24. byte digit = 0;
  25. byte symbolsToDelate = 0;
  26. while (text.Length != 0)
  27. {
  28. digit = DigitAsNum((text[text.Length - 1]).ToString());
  29. number += digit * counter;
  30. symbolsToDelate = SymbolsToDelate(text[text.Length - 1].ToString());
  31. text.Remove(text.Length - symbolsToDelate, symbolsToDelate);
  32. counter *= 7;
  33. }
  34. Console.WriteLine(number);
  35. }
  36.  
  37. private static byte SymbolsToDelate(string lastSymbol)
  38. {
  39. byte digit = 0;
  40. switch (lastSymbol)
  41. {
  42. case "f":
  43. digit = 1;
  44.  
  45. break;
  46. case "N":
  47. digit = 3;
  48. break;
  49. case "C":
  50. digit = 5;
  51. break;
  52. case "L":
  53. digit = 7;
  54. break;
  55. case "Q":
  56. digit = 6;
  57. break;
  58. case "E":
  59. digit = 4;
  60. break;
  61. case "T":
  62. digit = 2;
  63. break;
  64. }
  65. return digit;
  66. }
  67. private static byte DigitAsNum(string digitStr)
  68. {
  69.  
  70. byte digit = 0;
  71. switch (digitStr)
  72. {
  73. case "f":
  74. digit = 0;
  75.  
  76. break;
  77. case "N":
  78. digit = 1;
  79. break;
  80. case "C":
  81. digit = 2;
  82. break;
  83. case "L":
  84. digit = 3;
  85. break;
  86. case "Q":
  87. digit = 4;
  88. break;
  89. case "E":
  90. digit = 5;
  91. break;
  92. case "T":
  93. digit = 6;
  94. break;
  95. }
  96. return digit;
  97. }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement