結果
| 問題 |
No.240 ナイト散歩
|
| ユーザー |
jp_ste
|
| 提出日時 | 2016-03-01 16:30:40 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 127 ms / 2,000 ms |
| コード長 | 1,325 bytes |
| コンパイル時間 | 2,098 ms |
| コンパイル使用メモリ | 77,828 KB |
| 実行使用メモリ | 54,292 KB |
| 最終ジャッジ日時 | 2024-10-07 21:21:51 |
| 合計ジャッジ時間 | 7,234 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 30 |
ソースコード
import java.util.Scanner;
public class Main {
static int X, Y;
static int dx[] = { -2, -2, -1, -1, 1, 1, 2, 2 };
static int dy[] = { -1, 1, -2, 2, -2, 2, -1, 1 };
public static void main(String[] args) {
try (Scanner scan = new Scanner(System.in)) {
X = scan.nextInt();
Y = scan.nextInt();
if(solve()) {
System.out.println("YES");
} else {
System.out.println("NO");
}
}
}
static boolean solve() {
int x = 0, y = 0;
if(x == X && y == Y) return true;
for(int i=0; i<dx.length; i++) {
x += dx[i];
y += dy[i];
if(x == X && y == Y) return true;
for(int j=0; j<dx.length; j++) {
x += dx[j];
y += dy[j];
if(x == X && y == Y) return true;
for(int k=0; k<dx.length; k++) {
x += dx[k];
y += dy[k];
if(x == X && y == Y) return true;
x -= dx[k];
y -= dy[k];
}
x -= dx[j];
y -= dy[j];
}
x -= dx[i];
y -= dy[i];
}
return false;
}
}
jp_ste