Berland Crossword CodeForces - 1494B
考察:枚举
思路:
枚举四个边角的情况就行..... 疯狂WA到我麻木....看了题解发现是和A一样的解法....
1 #include <iostream> 2 using namespace std; 3 int n,op[4]; 4 bool check(int s) 5 { 6 if(s>=0&&s<=n-2) return 1; 7 return 0; 8 } 9 int main() 10 { 11 int T; 12 scanf("%d",&T); 13 while(T--) 14 { 15 scanf("%d",&n); 16 for(int i=0;i<4;i++) scanf("%d",&op[i]); 17 bool ok = 0; 18 for(int u=0;u<2;u++) 19 for(int r=0;r<2;r++) 20 for(int d=0;d<2;d++) 21 for(int l=0;l<2;l++) 22 { 23 if(ok) break; 24 if(check(op[0]-u-r)&&check(op[1]-r-d)&&check(op[2]-d-l)&&check(op[3]-l-u)) ok = 1; 25 if(ok) break; 26 } 27 if(ok) puts("YES"); 28 else puts("NO"); 29 } 30 }