2011年12月3日土曜日

JOI 予選 過去問 第8回 問題4

こんな感じになった。

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 件のコメント:

コメントを投稿