View Code of Problem 17

#include<iostream>
using namespace std;
int k;
void f(int a[100][100],int i,int j,int op)
{
	if(a[i][j]<a[i-1][j])
		f(a,i-1,j,op+1);
	if(a[i][j]<a[i+1][j])
		f(a,i+1,j,op+1);
	if(a[i][j]<a[i][j-1])
		f(a,i,j-1,op+1);
	if(a[i][j]<a[i][j+1])
		f(a,i,j+1,op+1);
	if(k<op) k=op;
	return; 
}
int main()
{
	int n,m;
	while(cin>>n>>m)
	{
		k=0; 
		int a[100][100]={0};
		for(int i=1;i<n+1;i++)
			for(int j=1;j<m+1;j++)
				cin>>a[i][j];
		for(int i=1;i<n+1;i++)
		{
			for(int j=1;j<m+1;j++)
			{
			f(a,i,j,0);
			}
		}
		cout<<k<<endl;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 17