Advertisement
Guest User

Untitled

a guest
Jun 30th, 2013
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.94 KB | None | 0 0
  1. using System;
  2.  
  3. class LargestSet
  4. {
  5.     static int[,] matrix = { { 1, 3, 2, 2, 2, 4 }, { 2, 3, 3, 2, 4, 4 }, { 4, 3, 1, 2, 3, 3 }, { 4, 3, 1, 3, 3, 1 }, { 4, 3, 3, 3, 1, 1 } };
  6.  
  7.     static bool[,] visited = new bool[5, 6];
  8.  
  9.     static bool IsInRange(int row, int col)
  10.     {
  11.         bool inRange = true;
  12.         if ((row < 0) || (row >= 5))
  13.         {
  14.             inRange = false;
  15.         }
  16.         if ((col < 0) || (col >= 6))
  17.         {
  18.             inRange = false;
  19.         }
  20.         if (inRange == true)
  21.         {
  22.             if (visited[row, col] == true)
  23.             {
  24.                 inRange = false;
  25.             }
  26.         }
  27.         return inRange;
  28.     }
  29.  
  30.     static int GetCount(int row, int col, int value)
  31.     {
  32.         int count = 0;
  33.  
  34.         if (IsInRange(row, col) == false)
  35.         {
  36.             return count;
  37.         }
  38.         else
  39.         {
  40.             if (matrix[row, col] == value)
  41.             {
  42.                 count++;
  43.  
  44.                 visited[row, col] = true;
  45.  
  46.                 count += GetCount(row - 1, col - 1, value);
  47.                 count += GetCount(row - 1, col, value);
  48.                 count += GetCount(row - 1, col + 1, value);
  49.  
  50.                 count += GetCount(row, col - 1, value);
  51.                 count += GetCount(row, col + 1, value);
  52.  
  53.                 count += GetCount(row + 1, col - 1, value);
  54.                 count += GetCount(row + 1, col, value);
  55.                 count += GetCount(row + 1, col + 1, value);
  56.             }
  57.         }
  58.  
  59.         return count;
  60.     }
  61.  
  62.     static void Main()
  63.     {
  64.         int setCount = 0;
  65.  
  66.         for (int i = 0; i < 5; i++)
  67.         {
  68.             for (int j = 0; j < 6; j++)
  69.             {
  70.                 int newCount = GetCount(i, j, matrix[i, j]);
  71.  
  72.                 if (newCount > setCount)
  73.                 {
  74.                     setCount = newCount;
  75.                 }
  76.             }
  77.         }
  78.  
  79.         Console.WriteLine(setCount);
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement