Advertisement
Guest User

05. Bit Paths

a guest
Jul 25th, 2014
346
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.03 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 _05Problem
  8. {
  9. class Program
  10. {
  11. static void Main()
  12. {
  13.  
  14. int n = int.Parse(Console.ReadLine());
  15.  
  16.  
  17. int element1;
  18. int element2;
  19. int element3;
  20. int element4;
  21. int element5;
  22. int element6;
  23. int element7;
  24. int element8;
  25.  
  26. int pathNula1 = 0;
  27. int pathNula2 = 0;
  28. int pathNula3 = 0;
  29. int pathNula4 = 0;
  30. int pathNula5 = 0;
  31. int pathNula6 = 0;
  32. int pathNula7 = 0;
  33. int pathNula8 = 0;
  34.  
  35. int pathOne1 = 0;
  36. int pathOne2 = 0;
  37. int pathOne3 = 0;
  38. int pathOne4 = 0;
  39. int pathOne5 = 0;
  40. int pathOne6 = 0;
  41. int pathOne7 = 0;
  42. int pathOne8 = 0;
  43.  
  44. int sum = 0;
  45.  
  46. for (int i = 0; i < n; i++)
  47. {
  48. string line = Console.ReadLine();
  49. string[] numbers = line.Split(',');
  50.  
  51.  
  52. element1 = int.Parse(numbers[0]);
  53. element2 = int.Parse(numbers[1]);
  54. element3 = int.Parse(numbers[2]);
  55. element4 = int.Parse(numbers[3]);
  56. element5 = int.Parse(numbers[4]);
  57. element6 = int.Parse(numbers[5]);
  58. element7 = int.Parse(numbers[6]);
  59. element8 = int.Parse(numbers[7]);
  60.  
  61. ///for 1st starting number
  62. if (element1==0)
  63. {
  64. pathOne1 = 8;
  65. }
  66. else if (element1==1)
  67. {
  68. pathOne1 =4;
  69. }
  70. else if (element1 == 2)
  71. {
  72. pathOne1 = 2;
  73. }
  74. else
  75. {
  76. pathOne1 = 1;
  77. }
  78.  
  79.  
  80.  
  81. //2nd
  82. if (element2 >0)
  83. {
  84. pathOne2 = pathOne1 >> 1;
  85. }
  86. else if (element2 <0)
  87. {
  88. pathOne2 = pathOne1 << 1;
  89. }
  90. else
  91. {
  92. pathOne2 = pathOne1 ;
  93. }
  94.  
  95.  
  96. //3nd
  97. if (element3 > 0)
  98. {
  99. pathOne3 = pathOne2 >> 1;
  100. }
  101. else if (element3 < 0)
  102. {
  103. pathOne3 = pathOne2 << 1;
  104. }
  105. else
  106. {
  107. pathOne3 = pathOne2;
  108. }
  109.  
  110. //4nd
  111. if (element4 > 0)
  112. {
  113. pathOne4 = pathOne3 >> 1;
  114. }
  115. else if (element4 < 0)
  116. {
  117. pathOne4 = pathOne3 << 1;
  118. }
  119. else
  120. {
  121. pathOne4 = pathOne3 ;
  122. }
  123.  
  124. //5nd
  125. if (element5 > 0)
  126. {
  127. pathOne5 = pathOne4 >> 1;
  128. }
  129. else if (element5 < 0)
  130. {
  131. pathOne5 = pathOne4 << 1;
  132. }
  133. else
  134. {
  135. pathOne5 = pathOne4;
  136.  
  137. }
  138.  
  139. //6nd
  140. if (element6 > 0)
  141. {
  142. pathOne6 = pathOne5 >> 1;
  143. }
  144. else if (element6 < 0)
  145. {
  146. pathOne6 = pathOne5 << 1;
  147. }
  148. else
  149. {
  150. pathOne6 = pathOne5;
  151. }
  152.  
  153.  
  154. //7nd
  155. if (element7 > 0)
  156. {
  157. pathOne7 = pathOne6 >> 1;
  158. }
  159. else if (element7 < 0)
  160. {
  161. pathOne7 = pathOne6 << 1;
  162. }
  163. else
  164. {
  165. pathOne7 = pathOne6;
  166. }
  167.  
  168. //8nd
  169. if (element8> 0)
  170. {
  171. pathOne8 = pathOne7 >> 1;
  172. }
  173. else if (element8 < 0)
  174. {
  175. pathOne8 = pathOne7 << 1;
  176. }
  177. else
  178. {
  179. pathOne8 = pathOne7;
  180. }
  181.  
  182.  
  183.  
  184. int first = pathNula1 ^ pathOne1;
  185. int second = pathNula2 ^ pathOne2;
  186. int third = pathNula3 ^ pathOne3;
  187. int fourth = pathNula4 ^ pathOne4;
  188. int fifth = pathNula5 ^ pathOne5;
  189. int sixth = pathNula6 ^ pathOne6;
  190. int seventh = pathNula7 ^ pathOne7;
  191. int eighth = pathNula8 ^ pathOne8;
  192.  
  193. sum = first + second + third + fourth + fifth + sixth + seventh + eighth;
  194.  
  195. pathNula1 = first;
  196. pathNula2 = second;
  197. pathNula3 = third;
  198. pathNula4 = fourth;
  199. pathNula5 = fifth;
  200. pathNula6 = sixth;
  201. pathNula7 = seventh;
  202. pathNula8 = eighth;
  203.  
  204. }
  205.  
  206. Console.WriteLine(Convert.ToString(sum,2));
  207. Console.WriteLine(Convert.ToString(sum,16).ToUpper());
  208.  
  209. }
  210. }
  211. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement