Advertisement
Guest User

Lines

a guest
Dec 1st, 2013
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.71 KB | None | 0 0
  1. namespace Lines
  2. {
  3.     using System;
  4.     using System.Collections.Generic;
  5.     using System.Linq;
  6.     using System.Text;
  7.  
  8.     class Lines
  9.     {
  10.         static void Main()
  11.         {
  12.             byte[,] arr = new byte[8, 8];
  13.             byte longestLine = 0;
  14.             byte longestLineFound = 0;
  15.  
  16.             for (int r = 0; r < arr.GetLength(0); r++)
  17.             {
  18.                 byte n = byte.Parse(Console.ReadLine());
  19.                 byte leftPadding = 0;
  20.                 for (byte c = 0; c < arr.GetLength(1); c++)
  21.                 {
  22.                     byte mask = (byte)(1 << leftPadding);
  23.                     byte fullOrEmpty = (byte)((n & mask) == Math.Pow(2, leftPadding) ? 1 : 0);
  24.                     arr[r, c] = fullOrEmpty;
  25.                     leftPadding++;
  26.                 }
  27.             }
  28.  
  29.             for (int r = 0; r < arr.GetLength(0); r++)
  30.             {
  31.                 byte sequenceOfOnes = 0;
  32.                 for (int c = 0; c < arr.GetLength(1); c++)
  33.                 {
  34.                     if (arr[r,c] == 1)
  35.                     {
  36.                         sequenceOfOnes++;
  37.                         if (sequenceOfOnes > longestLine)
  38.                         {
  39.                             longestLine = sequenceOfOnes;
  40.                             longestLineFound = 0;
  41.                         }
  42.                         if (sequenceOfOnes == longestLine)
  43.                         {
  44.                             longestLineFound++;
  45.                         }
  46.                     }
  47.                     else
  48.                     {
  49.                         sequenceOfOnes = 0;
  50.                     }
  51.                 }
  52.             }
  53.  
  54.             for (int c = 0; c < arr.GetLength(0); c++)
  55.             {
  56.                 byte sequenceOfOnes = 0;
  57.                 for (int r = 0; r < arr.GetLength(1); r++)
  58.                 {
  59.                     if (arr[r, c] == 1)
  60.                     {
  61.                         sequenceOfOnes++;
  62.                         if (sequenceOfOnes > longestLine)
  63.                         {
  64.                             longestLine = sequenceOfOnes;
  65.                             longestLineFound = 0;
  66.                         }
  67.                         if (sequenceOfOnes == longestLine)
  68.                         {
  69.                             longestLineFound++;
  70.                         }
  71.                     }
  72.                     else
  73.                     {
  74.                         sequenceOfOnes = 0;
  75.                     }
  76.                 }
  77.             }
  78.  
  79.             if (longestLine == 1)
  80.             {
  81.                 longestLineFound /= 2;
  82.             }
  83.             Console.WriteLine(longestLine);
  84.             Console.WriteLine(longestLineFound);
  85.         }
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement