Advertisement
d_brezoev

Pillars100

Nov 26th, 2013
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.97 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 Pillars
  8. {
  9.     class Pillars
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int[] numbers = new int[8];
  14.             for (int i = 0; i < 8; i++)
  15.             {
  16.                 numbers[i] = int.Parse(Console.ReadLine());
  17.             }
  18.             bool solved = false;
  19.             //moving vertical line from left to right
  20.             for (int line = 7; line >= 0; line--)
  21.             {
  22.                 int leftSide = 0;
  23.                 int rightSide = 0;
  24.                 //counting left side
  25.                 for (int row = 0; row < 8; row++)
  26.                 {
  27.                     for (int k = 7; k > line; k--)
  28.                     {
  29.                         int mask = 1 << k;
  30.                         int m = mask & numbers[row];
  31.                         int bit = m >> k;
  32.                         if (bit == 1)
  33.                         {
  34.                             leftSide++;
  35.                         }
  36.                     }
  37.                 }
  38.                 //counting right side
  39.                 for (int row = 0; row < 8; row++)
  40.                 {
  41.                     for (int k = line - 1; k >= 0; k--)
  42.                     {
  43.                         int mask = 1 << k;
  44.                         int m = mask & numbers[row];
  45.                         int bit = m >> k;
  46.                         if (bit == 1)
  47.                         {
  48.                             rightSide++;
  49.                         }
  50.                     }
  51.                 }
  52.                 if (leftSide == rightSide)
  53.                 {
  54.                     Console.WriteLine(line);
  55.                     Console.WriteLine(leftSide);
  56.                     solved = true;
  57.                     break;
  58.                 }
  59.             }
  60.             if (solved == false)
  61.             {
  62.                 Console.WriteLine("No");
  63.             }
  64.         }
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement