Advertisement
Filkolev

[Exam Preparation] 05. Bit Paths

Nov 3rd, 2014
263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.19 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4. class BitPaths
  5. {
  6.     static void Main()
  7.     {
  8.         int count = int.Parse(Console.ReadLine());
  9.         int[] board = new int[8];
  10.  
  11.         for (int i = 0; i < count; i++)
  12.         {
  13.             string input = Console.ReadLine();
  14.             //int[] path = input.Split(',').Select(int.Parse).ToArray();
  15.             //int[] path = Array.ConvertAll(input.Split(','), element => int.Parse(element));
  16.            
  17.             string[] currentPath = input.Split(',');
  18.             int[] path = new int[8];
  19.  
  20.             for (int j = 0; j < 8; j++)
  21.             {
  22.                 path[j] = int.Parse(currentPath[j]);
  23.             }
  24.  
  25.             int position = 3 - path[0];
  26.  
  27.             for (int k = 0; k < 8; k++)
  28.             {                
  29.                 int mask = (1 << position);
  30.                 board[k] = board[k] ^ mask;                
  31.  
  32.                 if (k == 7)
  33.                 {
  34.                     break;
  35.                 }
  36.  
  37.                 position = position - path[k+1];
  38.             }
  39.         }
  40.  
  41.         int sum = board.Sum();
  42.         Console.WriteLine(Convert.ToString(sum, 8));
  43.         Console.WriteLine("{0:X}", sum);
  44.     }  
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement