#10863: 求幫CODE健檢


karta080197 (unknown)

學校 : 國立臺南第一高級中學
編號 : 53439
來源 : [27.105.152.198]
最後登入時間 :
2018-08-28 12:06:00
d404. 10285 - Longest Run on a Snowboard -- UVa10285 | From: [61.64.176.192] | 發表日期 : 2016-04-16 13:51

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int a,map[101][101],r,c;
char st[200];
int dfs(int i,int g,int length){
int a=0,b=0,c=0,d=0;
if (i>0 && map[i-1][g]<map[i][g]) a=dfs(i-1,g,length+1);
if (i<r-1 && map[i+1][g]<map[i][g]) b=dfs(i+1,g,length+1);
if (g>0 && map[i][g-1]<map[i][g]) c=dfs(i,g-1,length+1);
if (g>c-1 && map[i][g+1]<map[i][g]) d=dfs(i,g+1,length+1);
if (a||b||c||d){
return max(a,b)>max(c,d)? max(a,b): max(c,d);
}else return length;
}
int main(void)
{
scanf("%d",&a);
while(a--){
int maxx=0,tmp=0;
scanf("%s%d%d",st,&r,&c);
for(int i=0;i<r;i++)
for(int g=0;g<c;g++)
scanf("%d",&map[i][g]);
for(int i=0;i<r;i++)
for(int g=0;g<c;g++){
tmp=dfs(i,g,1);
if (tmp>maxx) maxx=tmp;
}


printf("%s: %d\n",st,maxx);
}
return 0;
}

 

如題,請大神指教<(_ _)>

小弟檢查好幾次還是找不到錯誤

 
ZeroJudge Forum