svetlozar_kirkov

Double Downs

Sep 18th, 2014
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.67 KB | None | 0 0
  1. using System;
  2.  
  3. namespace DoubleDowns
  4. {
  5.     class DoubleDowns
  6.     {
  7.         static void Main()
  8.         {
  9.             int n = int.Parse(Console.ReadLine());
  10.             int[] nums = new int[n];
  11.             string[] binaries = new string[n];
  12.             int leftCount = 0;
  13.             int rightCount = 0;
  14.             int verticalCount = 0;
  15.  
  16.             for (int i = 0; i < nums.Length; i++)
  17.             {
  18.                 nums[i] = int.Parse(Console.ReadLine());
  19.                 binaries[i] = Convert.ToString(nums[i], 2).PadLeft(32, '0');
  20.             }
  21.  
  22.             //foreach (var item in binaries)
  23.             //{
  24.             //    Console.WriteLine(item);
  25.             //}
  26.  
  27.             for (int i = 0; i < binaries.Length; i++)
  28.             {
  29.                 for (int j = binaries[i].Length-1; j >= 0 && j-1>= 0 && i+1 < binaries.Length; j--)
  30.                 {
  31.                     if (j == binaries[i].Length-1)
  32.                     {
  33.                         if (binaries[i][j] == '1' && binaries[i+1][j] == '1')
  34.                         {
  35.                             verticalCount++;
  36.                            
  37.                         }
  38.                         if (binaries[i][j] == '1' && binaries[i+1][j-1] == '1')
  39.                         {
  40.                             leftCount++;
  41.                         }
  42.                        
  43.                     }
  44.                     else if (j == 0)
  45.                     {
  46.                         if (binaries[i][j] == '1' && binaries[i+1][j] == '1')
  47.                         {
  48.                             verticalCount++;
  49.                            
  50.                         }
  51.                         if (binaries[i][j] == '1' && binaries[i+1][j+1] == '1')
  52.                         {
  53.                             rightCount++;
  54.                         }
  55.                     }
  56.                     else
  57.                     {
  58.                         if (binaries[i][j] == '1' && binaries[i + 1][j] == '1')
  59.                         {
  60.                             verticalCount++;
  61.                            
  62.                         }
  63.                         if (binaries[i][j] == '1' && binaries[i + 1][j + 1] == '1')
  64.                         {
  65.                             rightCount++;
  66.                            
  67.                         }
  68.                         if (binaries[i][j] == '1' && binaries[i + 1][j - 1] == '1')
  69.                         {
  70.                             leftCount++;
  71.                         }
  72.                     }
  73.                 }
  74.             }
  75.  
  76.             Console.WriteLine(rightCount);
  77.             Console.WriteLine(leftCount);
  78.             Console.WriteLine(verticalCount);
  79.         }
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment