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 }

 

posted @ 2021-05-13 20:27  acmloser  阅读(40)  评论(0编辑  收藏  举报