fbinnzhivko

05.00 Bit Paths

May 13th, 2016
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.05 KB | None | 0 0
  1. using System;
  2. public class BitPaths
  3. {
  4.     public static void Main()
  5.     {
  6.         int[,] grid = new int[8, 4];
  7.         int num = int.Parse(Console.ReadLine());
  8.         for (int i = 0; i < num; i++)
  9.         {
  10.             ProcessPath(grid, Console.ReadLine());
  11.         }
  12.         int sum = 0;
  13.         for (int i = 0; i < grid.GetLength(0); i++)
  14.         {
  15.             var bits = new int[] { grid[i, 0], grid[i, 1], grid[i, 2], grid[i, 3] };
  16.             string str = string.Concat(bits);
  17.             sum = sum + Convert.ToInt32(str, 2);
  18.         }
  19.         Console.WriteLine(Convert.ToString(sum, 2));
  20.         Console.WriteLine(sum.ToString("X"));
  21.     }
  22.     private static void ProcessPath(int[,] grid, string path)
  23.     {
  24.         string[] pathElements = path.Split(new char[] { ',' });
  25.         int num = int.Parse(pathElements[0]);
  26.         grid[0, num] = grid[0, num] ^ 1;
  27.         for (int i = 1; i < grid.GetLength(0); i++)
  28.         {
  29.             num = num + int.Parse(pathElements[i]);
  30.             grid[i, num] = grid[i, num] ^ 1;
  31.         }
  32.     }
  33. }
Add Comment
Please, Sign In to add comment