$80$ 分了就差一点了帮帮吧
查看原帖
$80$ 分了就差一点了帮帮吧
536439
YONIC楼主2022/7/24 15:53
#include<bits/stdc++.h>
#include<bitset>
using namespace std;
unsigned long long flag;
int n,m,c,k,a[64],cnt;
int main(){
	ios::sync_with_stdio(false);
	cin>>n>>m>>c>>k;
	for(int i=1;i<=n;++i){
        unsigned long long x;
		cin>>x;
		flag|=x;
	}
	for(int i=1,p,q;i<=m;++i){
		cin>>p>>q;
		if(!((1<<p)&flag)) a[p]=1;
	}
	for(int i=0;i<=63;++i) if(a[i]) ++cnt;
	if(k==64&&cnt==0){
		if(n) cout<<(unsigned long long)(-n);
		else cout<<"18446744073709551616";
	}
	else cout<<(1ull<<(k-cnt))-n;
}
2022/7/24 15:53
加载中...