Codeforce 1494B. Berland Crossword(思维)

题目链接

题目大意

给出你一个n*n的矩阵,一开始都是一种颜色,让你在其最上,右,下,左.上对其颜色进行图色,给出你其涂色的块数问是否能够涂成符合要求的.

思路

u(上),(d)下,l(左),r(右)
首先我们看当u == n时那么就说明,l和r需要用掉一个移到他俩的最上方,同样d如果也等于n.l和r也要都用掉一个移到他俩最下方.这时就需要判断l和r是否可行.
第二种就是u如果等于n-1那么说明l和r需要有一个要用掉一个,d也一样,结合上面所说的也就是其实我们.只需要判断l+r的数量大于等于((u=n的数量)+(d=n的数量)) * 2[也就是l和r都需要占用的数量]+((u=n-1的数量)+(d=n-1的数量))[就是l和r只需要用一个的数量].
同理 l和r也是向上面那样判断即可.

#include <map>
#include <queue>
#include <string>
#include<iostream>
#include<stdio.h>
#include<string.h>
#include <algorithm>
#include <math.h>
typedef long long ll;
typedef unsigned long long ull;
using namespace std;
typedef pair<ll,ll> pii;
#define mem(a,x) memset(a,x,sizeof(a))
#define debug(x) cout << #x << ": " << x << endl;
#define rep(i,n) for(int i=0;i<(n);++i)
#define repi(i,a,b) for(int i=int(a);i<=(b);++i)
#define repr(i,b,a) for(int i=int(b);i>=(a);--i)
const int maxn=2e5+1010;
#define inf 0x3f3f3f3f
#define sf scanf
#define pf printf
const int mod=998244353;
const int MOD=10007;

inline int read() {
    
    
    int x=0;
    bool t=false;
    char ch=getchar();
    while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
    if(ch=='-')t=true,ch=getchar();
    while(ch<='9'&&ch>='0')x=x*10+ch-48,ch=getchar();
    return t?-x:x;
}

/*
vector<ll> m1;
vector<ll> m2;
priority_queue<ll , vector<ll> , greater<ll> > mn;//上  小根堆 		小到大
priority_queue<ll , vector<ll> , less<ll> > mx;//下   	大根堆  	大到小
*/
map<ll,ll>mp;
map<ll,ll>mpp;
ll n,u,d,r,l;
#define read read()
int main() {
    
    
    ll t;
    cin>>t;
    while(t--) {
    
    
        cin>>n>>u>>r>>d>>l;
        ll u1,u2,l1,l2;
        bool flag=1;
        u1=u2=l1=l2=0;
        if(u==n) u2++;
        if(d==n) u2++;
        if(u==n-1) u1++;
        if(d==n-1) u1++;
        if(l<u2||r<u2) flag=0;
        if(l+r<2*u2+u1) flag=0;

        if(l==n) l2++;
        if(r==n) l2++;
        if(l==n-1) l1++;
        if(r==n-1) l1++;

        if(u<l2||d<l2) flag=0;
        if(u+d<2*l2+l1) flag=0;
        if(flag) puts("YES");
        else puts("NO");



    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_45911397/article/details/114818004