ttbr5145 @ 2020-08-03 12:43:40
样例通过 求助dalao哪里错了:
#include<bits/stdc++.h>
using namespace std;
int r,c;
int a[110][110];
int f[110][110];
int xway[4]={0,1,0,-1},yway[4]={1,0,-1,0};
void dp(int x,int y,int k){
if(f[x][y]<k){
f[x][y]=k;
}
else{
return;
}
for(int i=0;i<4;i++){
if(x+xway[i]>=1&&x+xway[i]<=r&&y+yway[i]>=1&&y+yway[i]<=c&&a[x+xway[i]][y+yway[i]]>a[x][y]){
//cout<<a[x][y]<<"->"<<a[x+xway[i]][y+yway[i]]<<endl;
dp(x+xway[i],y+yway[i],k+1);
}
}
return;
}
int main(int argc,char* argv[]){
cin>>r>>c;
memset(f,INT_MIN,sizeof(f));
int minn=INT_MAX,x,y;
for(int i=1;i<=r;i++){
for(int j=1;j<=c;j++){
cin>>a[i][j];
if(a[i][j]<minn){
x=i;
y=j;
minn=a[i][j];
}
}
}
dp(x,y,1);
int maxn=INT_MIN;
for(int i=1;i<=r;i++){
for(int j=1;j<=c;j++){
maxn=max(maxn,f[i][j]);
}
}
cout<<maxn<<endl;
return 0;
}
//从最低点算起,向外逐层递归推进并比较,最后输出最远点
by ttbr5145 @ 2020-08-03 12:44:41
井号没打出来……
意思是第1和10WA了,第2TLE了
by ttbr5145 @ 2020-08-03 12:45:33
调试时打的注释的那一行,发现有很多重复的。 请问怎么改?
by ttbr5145 @ 2020-08-07 11:45:48
咋没人啊……