こんな感じになった。
void solve(int x,int y,int depth){
a[y][x] = 0;
if(a[y + 1][x] == 1){
solve(x,y + 1,depth + 1);
}
if(a[y - 1][x] == 1){
solve(x,y - 1,depth + 1);
}
if(a[y][x + 1] == 1){
solve(x + 1,y,depth + 1);
}
if(a[y][x - 1] == 1){
solve(x - 1,y,depth + 1);
}
a[y][x] = 1;
if(a[y + 1][x] + a[y - 1][x] + a[y][x - 1] + a[y][x - 1] == 0){
if(depth >= maxdepth){
maxdepth = depth + 1;
}
}
}
これでmain関数からx,yをそれぞれN,Mまで変えてsolve関数を呼び出します。
ってかコメント文まったくつけてないな……
0 件のコメント:
コメントを投稿