QAQ永动机 @ 2019-04-05 12:10:19
#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[200][200];
int b[200][200];
int maxx=1;
int dir[5][4]={{0,1},{0,-1},{-1,0},{1,0}};
void dfs(int x,int y,int step)
{
int nx,ny;
if(step>maxx){
maxx=step;
}
for(int i=0;i<4;i++)
{
nx=x+dir[i][1];
ny=y+dir[i][0];
if(nx>n||nx<1||ny>m||ny<1||a[nx][ny]>=a[x][y])
{
continue;
}
if(b[nx][ny]<step+1)
{
b[nx][ny]=step+1;
dfs(nx,ny,step+1);
}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
dfs(i,j,1);
}
}
cout<<maxx;
return 0;
}
TLE了QAQ
还有我
if(b[nx][ny]<step+1)
{
b[nx][ny]=step+1;
dfs(nx,ny,step+1);
}
这部分有没有起到优化作用啊,为什么感到没用啊
by aminoas @ 2020-03-30 18:27:23
考古qwq
居然是 yoha >_<