結果

問題 No.240 ナイト散歩
ユーザー alpha_virginis
提出日時 2015-07-10 22:37:37
言語 C++11
(gcc 4.8.5)
結果
AC  
実行時間 4 ms
コード長 516 Byte
コンパイル時間 986 ms
使用メモリ 1,512 KB
最終ジャッジ日時 2019-10-06 00:34:55

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
99_challenge01.txt AC 3 ms
1,504 KB
99_challenge02.txt AC 3 ms
1,504 KB
challenge01.txt AC 3 ms
1,504 KB
challenge02.txt AC 3 ms
1,504 KB
sample1.txt AC 3 ms
1,504 KB
sample2.txt AC 3 ms
1,512 KB
sample3.txt AC 3 ms
1,504 KB
sample4.txt AC 3 ms
1,504 KB
system_test1.txt AC 3 ms
1,512 KB
system_test2.txt AC 3 ms
1,508 KB
system_test3.txt AC 3 ms
1,508 KB
system_test4.txt AC 3 ms
1,504 KB
system_test5.txt AC 3 ms
1,512 KB
system_test6.txt AC 3 ms
1,508 KB
system_test7.txt AC 3 ms
1,508 KB
system_test8.txt AC 3 ms
1,504 KB
system_test9.txt AC 3 ms
1,512 KB
system_test10.txt AC 3 ms
1,508 KB
test1.txt AC 4 ms
1,512 KB
test2.txt AC 3 ms
1,512 KB
test3.txt AC 3 ms
1,512 KB
test4.txt AC 3 ms
1,504 KB
test5.txt AC 4 ms
1,512 KB
test6.txt AC 3 ms
1,508 KB
test7.txt AC 3 ms
1,504 KB
test8.txt AC 3 ms
1,512 KB
test9.txt AC 3 ms
1,512 KB
test10.txt AC 3 ms
1,512 KB
test11.txt AC 3 ms
1,508 KB
test12.txt AC 3 ms
1,508 KB
test13.txt AC 3 ms
1,512 KB
test14.txt AC 3 ms
1,508 KB
test15.txt AC 3 ms
1,508 KB
test16.txt AC 3 ms
1,508 KB
テストケース一括ダウンロード

ソースコード

diff #
#include <bits/stdc++.h>

int gx, gy;

bool solve(int d, int x, int y) {
  if( x == gx && y == gy ) return true;
  if( d == 0 ) return false;

  int dx[8] = {-2, -2, -1, -1, 1, 1, 2, 2};
  int dy[8] = {-1, 1, -2, 2, -2, 2, -1, 1};

  for(int i = 0; i < 8; ++i) {
    if( solve(d - 1, x + dx[i], y + dy[i]) ) return true;
  }

  return false;
}

int main() {

  std::cin >> gx >> gy;

  if( solve(3, 0, 0) ) {
    std::cout << "YES" << std::endl;
  }
  else {
    std::cout << "NO" << std::endl;
  }
  
  return 0;
}
0