#include<iostream> using namespace std; int k = 0; void func(int **arr, int i, int j, int n, int m, int temp) { if (i > 0) if (arr[i][j] < arr[i - 1][j]) func(arr, i - 1, j, n, m, temp + 1); if (i < n - 1) if (arr[i][j] < arr[i + 1][j]) func(arr, i + 1, j, n, m, temp + 1); if (j > 0) if (arr[i][j] < arr[i][j - 1]) func(arr, i, j - 1, n, m, temp + 1); if (j < m - 1) if (arr[i][j] < arr[i][j + 1]) func(arr, i, j + 1, n, m, temp + 1); if (temp > k) k = temp; } int main() { int n, m; while (cin >> n >> m) { int **arr = new int*[n]; for (int i = 0; i < n; i++) { arr[i] = new int[m]; for (int j = 0; j < m; j++) cin >> arr[i][j]; } for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) func(arr, i, j, n, m, 0); cout << k << endl; k = 0; } return 0; } |
Double click to view unformatted code.