98782024-03-14 12:09:04antiStefan sakkmesteri ambícióicpp17Accepted 100/1008ms4312 KiB
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    //ifstream cin("input0.txt");

    int T;
    cin >> T;
    char t[10][10];
    for(int i=0; i<9; i++){
        t[0][i] = '.';
        t[9][i] = '.';
        t[i][0] = '.';
        t[i][9] = '.';
    }
    bool meg[T] = {false};
    pair<int, int> kir;
    for(int h=0; h<T; h++){
        for(int i=1; i<9; i++){
            for(int j=1; j<9; j++){
                cin >> t[i][j];
                if(t[i][j] == 'q'){
                    kir.first = i;
                    kir.second = j;
                }
            }
        }
        if      (t[kir.first - 2][kir.second - 1] == 'N'){ meg[h] = true; }
        else if (t[kir.first - 2][kir.second + 1] == 'N'){ meg[h] = true; }
        else if (t[kir.first - 1][kir.second + 2] == 'N'){ meg[h] = true; }
        else if (t[kir.first + 1][kir.second + 2] == 'N'){ meg[h] = true; }
        else if (t[kir.first + 2][kir.second + 1] == 'N'){ meg[h] = true; }
        else if (t[kir.first + 2][kir.second - 1] == 'N'){ meg[h] = true; }
        else if (t[kir.first + 1][kir.second - 2] == 'N'){ meg[h] = true; }
        else if (t[kir.first - 1][kir.second - 2] == 'N'){ meg[h] = true; }
        else if (t[kir.first + 1][kir.second - 1] == 'P'){ meg[h] = true; }
        else if (t[kir.first + 1][kir.second + 1] == 'P'){ meg[h] = true; }

        for(int i=kir.first-1; i>=1; i--){
            if(t[i][kir.second] != '.'){
                if(t[i][kir.second] == 'R' || t[i][kir.second] == 'Q'){  //felfele
                    meg[h] = true;
                }
            break;
            }
        }
        for(int i=kir.first+1; i<9; i++){
            if(t[i][kir.second] != '.'){
                if(t[i][kir.second] == 'R' || t[i][kir.second] == 'Q'){  //lefele
                    meg[h] = true;
                }
            break;
            }
        }
        for(int j=kir.second-1; j>=1; j--){
            if(t[kir.first][j] != '.'){
                if(t[kir.first][j] == 'R' || t[kir.first][j] == 'Q'){  //balra
                    meg[h] = true;
                }
            break;
            }
        }
        for(int j=kir.second+1; j<9; j++){
            if(t[kir.first][j] != '.'){
                if(t[kir.first][j] == 'R' || t[kir.first][j] == 'Q'){  //jobbra
                    meg[h] = true;
                }
            break;
            }
        }
        for(int i=1; i<=min(kir.first, kir.second); i++){
            if(t[kir.first-i][kir.second-i] != '.'){
                if(t[kir.first-i][kir.second-i] == 'B' || t[kir.first-i][kir.second-i] == 'Q'){  //balra fel
                    meg[h] = true;
                }
            break;
            }
        }
        for(int i=1; i<=min(8 - kir.first, 8 - kir.second); i++){
            if(t[kir.first+i][kir.second+i] != '.'){
                if(t[kir.first+i][kir.second+i] == 'B' || t[kir.first+i][kir.second+i] == 'Q'){  //jobbra le
                    meg[h] = true;
                }
            break;
            }
        }
        for(int i=1; i<=min(kir.first, 8 - kir.second); i++){
            if(t[kir.first-i][kir.second+i] != '.'){
                if(t[kir.first-i][kir.second+i] == 'B' || t[kir.first-i][kir.second+i] == 'Q'){  //jobbra fel
                    meg[h] = true;
                }
            break;
            }
        }
        for(int i=1; i<=min(8 - kir.first, kir.second); i++){
            if(t[kir.first+i][kir.second-i] != '.'){
                if(t[kir.first+i][kir.second-i] == 'B' || t[kir.first+i][kir.second-i] == 'Q'){  //balra le
                    meg[h] = true;
                }
            break;
            }
        }

    }
    for(int i=0; i<T; i++){
        if(meg[i]){
            cout << "YES" << endl;
        }else{
            cout << "NO" << endl;
        }
    }
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted3ms1876 KiB
subtask211/11
2Accepted3ms2120 KiB
3Accepted3ms2200 KiB
4Accepted3ms2456 KiB
5Accepted8ms2544 KiB
subtask312/12
6Accepted3ms2788 KiB
7Accepted3ms2940 KiB
8Accepted3ms3152 KiB
9Accepted8ms3236 KiB
subtask415/15
10Accepted3ms3320 KiB
11Accepted3ms3564 KiB
12Accepted3ms3572 KiB
13Accepted8ms3660 KiB
subtask516/16
14Accepted3ms3660 KiB
15Accepted3ms3656 KiB
16Accepted3ms3684 KiB
17Accepted8ms3744 KiB
subtask646/46
18Accepted3ms3760 KiB
19Accepted3ms3880 KiB
20Accepted3ms3884 KiB
21Accepted8ms4124 KiB
22Accepted8ms4236 KiB
23Accepted8ms4288 KiB
24Accepted8ms4188 KiB
25Accepted8ms4312 KiB
26Accepted8ms4084 KiB