View Code of Problem 17

#include<bits/stdc++.h>
using namespace std;

int mmax=-1;
vector<vector<int> > step(300,vector<int>(300,0));
	
void step_sum(int i,int j,int n)
{
  if(step[i+1][j]>step[i][j]) step_sum(i+1,j,n+1);
  if(step[i-1][j]>step[i][j]) step_sum(i-1,j,n+1);
  if(step[i][j-1]>step[i][j]) step_sum(i,j-1,n+1);
  if(step[i][j+1]>step[i][j]) step_sum(i,j+1,n+1);
  if(n>mmax)
	mmax=n;
}

int main(void)
{
  int n,m,i,j;
  cin>>n>>m;
  for(i=1;i<=n;++i)
    for(j=1;j<=m;++j)
      cin>>step[i][j];
    for(i=1;i<=n;++i)
      for(j=1;j<=m;++j)
        step_sum(i,j,0);
      cout<<mmax<<endl;   
}

Double click to view unformatted code.


Back to problem 17