int solve()
{
  if(/* すでに解けていたら */) return 1;

  /* 次に打てる手をリスト化する */

  for(/* 全ての手に対して */){
    /* その手を実行 */

    if(solve()){
      return 1;
    }

    /* この手では解けなかったので元に戻す */
  }

  /* 手詰まり */
  return 0;
}