#include<iostream> #include<cstring> #include<vector> using namespace std; int res = 0; void dfs(vector<vector<int>> a,int i,int j,int cnt) { int q = a.size(), w = a[0].size(); if(a[i-1][j] > a[i][j]) dfs(a,i-1,j,cnt+1); if(a[i+1][j] > a[i][j]) dfs(a,i+1,j,cnt + 1); if(a[i][j-1] > a[i][j]) dfs(a,i,j-1,cnt+1); if(a[i][j+1] > a[i][j]) dfs(a,i,j+1,cnt+1); if(cnt > res) { res = cnt; } } int main() { int n, m; while(cin >> n >> m) { vector<vector<int>> a(n,vector<int>(m)); for(int i = 0;i < n;i ++) { for(int j = 0;j < m;j ++) { cin >> a[i][j]; } } for(int i = 0;i < n;i ++) { for(int j = 0;j < m;j ++) { dfs(a,i,j,0); } } cout << res << endl; } return 0; } |
Double click to view unformatted code.