9716 | 2024-03-02 17:27:39 | Ignác | Stefan sakkmesteri ambíciói | cpp17 | Futási hiba 23/100 | 1.08s | 3800 KiB |
// Source: https://usaco.guide/general/io
#include <bits/stdc++.h>
using namespace std;
int main() {
int t;
cin>>t;
vector<string> a(8);
for(int fghjk=0;fghjk<t;fghjk++){
for(int i=0;i<8;i++){
cin>>a[i];
}
bool b=false;
int bish, k;
for(int i=0;i<8;i++){
for(int j=0;j<8;j++){
k=i;
bish=j;
if(a[i][j]=='N'){
if(i-2>=0 && j-1>=0){
if(a[i-2][j-1]=='q'){
b=true;
break;
}
}
if(i-2>=0 && j+1<=7){
if(a[i-2][j+1]=='q'){
b=true;
break;
}
}
if(i+2<=7 && j-1>=0){
if(a[i+2][j-1]=='q'){
b=true;
break;
}
}
if(i+2<=7 && j+1<=7){
if(a[i+2][j+1]=='q'){
b=true;
break;
}
}
if(i-1>=0 && j-2>=0){
if(a[i-1][j-2]=='q'){
b=true;
break;
}
}
if(i-1>=0 && j+2<=7){
if(a[i-1][j+2]=='q'){
b=true;
break;
}
}
if(i+1<=7 && j-2>=0){
if(a[i+1][j-2]=='q'){
b=true;
break;
}
}
if(i+1<=7 && j+2<=7){
if(a[i+1][j+2]=='q'){
b=true;
break;
}
}
}
if(a[i][j]=='B'){
k=i;
bish=j;
while(k>=0 && bish>=0){
k--;
bish--;
if(bish<0 || k<0){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
if(b){
break;
}
k=i;
bish=j;
while(k<=7 && bish>=0){
k++;
bish--;
if(bish<0 || k>7){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
k=i;
bish=j;
if(b){
break;
}
while(k>=0 && bish<=7){
k--;
bish++;
if(bish>7 || k<0){
break;
}
if(a[k][bish]=='q'){
b=true;
// cout<<"I am right here\n";
break;
}
if(a[k][bish]!='.'){
break;
}
// cout<<k<<' '<<bish<<'\n';
}
k=i;
bish=j;
if(b){
break;
}
while(k<=7 && bish<=7){
k++;
bish++;
if(bish>7 || k>7){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
k=i;
bish=j;
if(b){
break;
}
}
if(a[i][j]=='R'){
j=i;
bish=j;
while(k>=0){
k--;
if(k<0){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
k=i;
bish=j;
if(b){
break;
}
while(k<=7){
k++;
if(k>7){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
k=i;
bish=j;
if(b){
break;
}
while(bish<=7){
bish++;
if(bish>7){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
k=i;
bish=j;
if(b){
break;
}
while(bish>=0){
bish--;
if(bish<0){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
k=i;
bish=j;
if(b){
break;
}
}
if(a[i][j]=='P'){
if(i-1>=0 && j-1>=0){
if(a[i-1][j-1]=='q'){
b=true;
break;
}
}
if(i-1>=0 && j+1<=7){
if(a[i-1][j+1]=='q'){
b=true;
break;
}
}
}
if(a[i][j]=='Q'){
k=i;
bish=j;
while(k>=0){
k--;
if(k<0){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
k=i;
bish=j;
if(b){
break;
}
while(k<=7){
k++;
if(k>8){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
k=i;
bish=j;
if(b){
break;
}
while(bish<=7){
bish++;
if(bish>7){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
k=i;
bish=j;
if(b){
break;
}
while(bish>=0){
bish--;
if(bish<0){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
k=i;
bish=j;
if(b){
break;
}
k=i, bish=j;
while(k>=0 && bish>=0){
k--;
bish--;
if(k<0 || bish<0){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
if(b){
break;
}
k=i;
bish=j;
while(k<=7 && bish>=0){
k++;
bish--;
if(k>7 || bish<0){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
k=i;
bish=j;
if(b){
break;
}
while(k>=0 && bish<=7){
k--;
bish++;
if(k<0 || bish>7){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
k=i;
bish=j;
if(b){
break;
}
while(k<=7 && bish<=7){
k++;
bish++;
if(k>7 || bish>7){
break;
}
if(a[k][bish]=='q'){
b=true;
break;
}
if(a[k][bish]!='.'){
break;
}
}
k=i;
bish=j;
if(b){
break;
}
}
}
if(b){
break;
}
}
if(!b){
cout<<"NO\n";
}else{
cout<<"YES\n";
}
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 1812 KiB | ||||
subtask2 | 11/11 | ||||||
2 | Elfogadva | 3ms | 2004 KiB | ||||
3 | Elfogadva | 3ms | 2084 KiB | ||||
4 | Elfogadva | 3ms | 2220 KiB | ||||
5 | Elfogadva | 7ms | 2424 KiB | ||||
subtask3 | 12/12 | ||||||
6 | Elfogadva | 3ms | 2636 KiB | ||||
7 | Elfogadva | 3ms | 2840 KiB | ||||
8 | Elfogadva | 3ms | 3056 KiB | ||||
9 | Elfogadva | 7ms | 3268 KiB | ||||
subtask4 | 0/15 | ||||||
10 | Futási hiba | 3ms | 3468 KiB | ||||
11 | Futási hiba | 3ms | 3332 KiB | ||||
12 | Futási hiba | 3ms | 3320 KiB | ||||
13 | Futási hiba | 3ms | 3320 KiB | ||||
subtask5 | 0/16 | ||||||
14 | Időlimit túllépés | 1.069s | 3232 KiB | ||||
15 | Időlimit túllépés | 1.057s | 3444 KiB | ||||
16 | Időlimit túllépés | 1.057s | 3532 KiB | ||||
17 | Időlimit túllépés | 1.06s | 3428 KiB | ||||
subtask6 | 0/46 | ||||||
18 | Időlimit túllépés | 1.06s | 3564 KiB | ||||
19 | Időlimit túllépés | 1.065s | 3532 KiB | ||||
20 | Időlimit túllépés | 1.052s | 3656 KiB | ||||
21 | Időlimit túllépés | 1.06s | 3652 KiB | ||||
22 | Időlimit túllépés | 1.065s | 2972 KiB | ||||
23 | Futási hiba | 3ms | 3800 KiB | ||||
24 | Időlimit túllépés | 1.08s | 3684 KiB | ||||
25 | Futási hiba | 3ms | 3688 KiB | ||||
26 | Időlimit túllépés | 1.057s | 3544 KiB |