70分求助
查看原帖
70分求助
338147
01bit楼主2021/8/21 10:39
#include<cstdio>
#include<cctype>
#include<climits>
using namespace std;
typedef unsigned long long ull;
ull n,m,c,k;
ull buc=0,tmp=0;
ull tot(ull x){
	ull cnt=0;
	while(x){
		cnt++;
		x=x^x&-x;
	}
	return cnt;
}
int main(){
	scanf("%llu%llu%llu%llu",&n,&m,&c,&k);
    for(int i=1;i<=n;i++){
        ull ai;
        scanf("%llu",&ai);
        buc|=ai;
    }
    tmp=(1ull<<k)-1ull;
	for(int i=1;i<=m;i++){
		ull pi,qi;
		scanf("%llu%llu",&pi,&qi);
		tmp^=1ull<<pi;
	}
	ull cnt=tot(buc|tmp);
	fprintf(stderr,"%llu\n",cnt);
	if(cnt==64&&n==0)puts("18446744073709551616");
	else printf("%llu\n",(1ull<<cnt)-n);
    return 0;
}

我觉得跟题解差不多,可是为什么WA呢

2021/8/21 10:39
加载中...