98342024-03-11 11:23:09antiStefan sakkmesteri ambícióicpp17Wrong answer 0/1008ms3856 KiB
#include <iostream>

using namespace std;

int main()
{
    int T;
    cin >> T;
    char t[8][8];
    bool meg[T] = {false};
    pair<int, int> kir;
    for(int h=0; h<T; h++){
        for(int i=0; i<8; i++){
            for(int j=0; j<8; 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>=0; 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<8; 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>=0; 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<8; 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(7 - kir.first, 7 - 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, 7 - 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(7 - 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
1Accepted3ms1880 KiB
subtask20/11
2Accepted3ms2064 KiB
3Wrong answer3ms2312 KiB
4Wrong answer3ms2528 KiB
5Wrong answer8ms2744 KiB
subtask30/12
6Wrong answer3ms2952 KiB
7Wrong answer3ms3156 KiB
8Wrong answer3ms3372 KiB
9Wrong answer8ms3492 KiB
subtask40/15
10Accepted3ms3488 KiB
11Wrong answer3ms3632 KiB
12Wrong answer3ms3588 KiB
13Wrong answer8ms3528 KiB
subtask50/16
14Accepted2ms3524 KiB
15Accepted3ms3520 KiB
16Accepted3ms3644 KiB
17Wrong answer8ms3520 KiB
subtask60/46
18Wrong answer2ms3524 KiB
19Wrong answer3ms3524 KiB
20Wrong answer3ms3528 KiB
21Wrong answer8ms3524 KiB
22Wrong answer8ms3636 KiB
23Wrong answer8ms3772 KiB
24Wrong answer8ms3848 KiB
25Wrong answer8ms3856 KiB
26Wrong answer8ms3744 KiB