Advertisement
j0nze

Digits

Jul 14th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.02 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace ConsoleApp1
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             int n = int.Parse(Console.ReadLine());
  11.             int[,] matrix = new int[n, n];
  12.             FillMatrix(matrix, n);
  13.             int sum = 0;
  14.  
  15.             for (int i = 0; i < n; i++)
  16.             {
  17.                 for (int j = 0; j < n; j++)
  18.                 {
  19.                     sum += CheckForOne(matrix, i, j);
  20.                     //CheckForTwo(matrix, sum, i, j);
  21.                     //CheckForThree(matrix, sum, i, j);
  22.                     //CheckForFour(matrix, sum, i, j);
  23.                     //CheckForFive(matrix, sum, i, j);
  24.                     //CheckForSix(matrix, sum, i, j);
  25.                     //CheckForSeven(matrix, sum, i, j);
  26.                     //CheckForEight(matrix, sum, i, j);
  27.                     //CheckForNine(matrix, sum, i, j);
  28.                 }
  29.             }
  30.             Console.WriteLine(sum);
  31.  
  32.         }
  33.  
  34.         private static int CheckForOne(int[,] matrix, int i, int j)
  35.         {
  36.             int sum = 0;
  37.             if (i - 2 < 0 || j + 2 >= matrix.GetLength(1) || i + 2 >= matrix.GetLength(0))
  38.             {
  39.                 return sum;
  40.             }
  41.             bool checkOne = matrix[i, j] == matrix[i - 1, j + 1] && matrix[i, j] == matrix[i - 2, j + 2] &&
  42.                 matrix[i, j] == matrix[i - 1, j + 2] && matrix[i, j] == matrix[i, j + 2] && matrix[i, j] == matrix[i + 1, j + 2] &&
  43.                 matrix[i, j] == matrix[i + 2, j + 2];
  44.             if (checkOne)
  45.             {
  46.                 sum++;
  47.             }
  48.             return sum;
  49.         }
  50.  
  51.         private static void FillMatrix(int[,] matrix, int n)
  52.         {
  53.             for (int i = 0; i < n; i++)
  54.             {
  55.                 int[] numsLine = Console.ReadLine().Split().Select(int.Parse).ToArray();
  56.                 for (int j = 0; j < n; j++)
  57.                 {
  58.                     matrix[i, j] = numsLine[j];
  59.                 }
  60.             }
  61.         }
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement