求助刚刚CF的2C
  • 板块学术版
  • 楼主wdy1028
  • 当前回复12
  • 已保存回复12
  • 发布时间2021/11/14 18:36
  • 上次更新2023/11/4 00:34:04
查看原帖
求助刚刚CF的2C
523541
wdy1028楼主2021/11/14 18:36

RT,是我思路有问题?

#include <bits/stdc++.h>
typedef long long LL;
typedef unsigned long long ULL;
typedef long double LD;
#define mem(l,val) memset((l),(val),(sizeof(l)))
using namespace std;
const int INF = 2147483647;
int a[105],b[105],sum,T,k;
int main(int argc,char *argv[])
{//0 0 0 0 0 1 1 1 1 1
    scanf("%d",&T);
    while(T--)
    {
        mem(a,0);mem(b,0);
        k = 0;sum = 0;
        int n,flag = 0;
        scanf("%d",&n);
        for(int i = 1;i <= n;++i) scanf("%d",&a[i]);
        for(int i = 1;i <= n;++i) scanf("%d",&b[i]);
        sort(a+1,a+n+1);sort(b+1,b+n+1);
        for(int i = 1;i <= n;++i)
            if(b[i]-a[i] > 1) {puts("NO");flag = 1;break;}
        if(flag) continue;
        for(int i = 1;i <= n;++i)
            if(b[i] != a[i]) ++sum,k = i;
        if(k < sum) puts("NO");
        else puts("YES");       
    }
    return 0;
}
2021/11/14 18:36
加载中...