Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static int DFS(ref int[][] grid, int row, int col, int count, int m)
- {
- if (grid == null || row < 0 || col < 0 || row >= grid.GetLength(0) ||
- col >= m || grid[row][col] == 0)
- return 0;
- grid[row][col] = 0;
- for (int r = row - 1; r <= row + 1; r++)
- for (int c = col - 1; c <= col + 1; c++)
- {
- count += DFS(ref grid, r, c, 0, m);
- }
- return count + 1;
- }
- static void Main(string[] args)
- {
- int n = Convert.ToInt32(Console.ReadLine());
- int m = Convert.ToInt32(Console.ReadLine());
- int[][] grid = new int[n][];
- for (int i = 0; i < n; i++)
- {
- grid[i] = Array.ConvertAll(Console.ReadLine().Split(' '), gridTemp => Convert.ToInt32(gridTemp));
- }
- int max = 0;
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- {
- max = Math.Max(DFS(ref grid, i, j, 0, m), max);
- }
- }
- Console.WriteLine(max);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement