結果
| 問題 | 
                            No.240 ナイト散歩
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2015-07-11 00:26:03 | 
| 言語 | C++11(廃止可能性あり)  (gcc 13.3.0)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 969 bytes | 
| コンパイル時間 | 449 ms | 
| コンパイル使用メモリ | 64,624 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-07-08 02:27:41 | 
| 合計ジャッジ時間 | 2,836 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 WA * 1 | 
| other | AC * 10 WA * 9 RE * 11 | 
ソースコード
#include <iostream>
#include <queue>
using namespace std;
int main() {
    
    int X, Y;
    
    cin>>X>>Y;
    
    int grid[13][13] = {0};
    grid[6][6] = 1;
    
    int dx[8] = {-1,1,2,2,1,-1,-2,-2};
    int dy[8] = {2,2,1,-1,-2,-2,-1,1};
    
    int nowx, nowy, n=0;
    queue<int> queuex;
    queue<int> queuey;
    queuex.push(6);queuey.push(6);
    
    int nextx, nexty;
    
    while(1){
        
        if(grid[(-1)*Y+6][X+6] == 1){
            cout<<"YES"<<endl;
            return 0;
        }
        if(n == 3){
            cout<<"NO"<<endl;
            return 0;
        }
        
        nowx = queuex.front();
        nowy = queuey.front();
        queuex.pop(); queuey.pop();
        for(int i=0 ; i<8 ; i++){
            nextx = nowx + dx[i];
            nexty = nowy + dy[i];
            grid[nexty][nextx] = 1;
            queuex.push(nextx);
            queuey.push(nexty);
        }
        n++;
        
    }
    
    
    return 0;
}