This commit is contained in:
Zengtudor 2024-10-04 00:51:00 +08:00
parent 2003de2e1b
commit bf9dc139db

View File

@ -36,22 +36,22 @@ ReadNumber<ull> readull;
int main(){
cin>>n>>m>>c>>k;
if(n==0 && m==0 && k==64){
if(n==0 && m==0 && k==64){ //特判
cout<<"18446744073709551616\n";
return 0;
}
for(ull i=0;i<n;i++){
cin>>input;
num |= input;
num |= input; //所有编号占用的'1'的位置,把他并在一起
}
for(ull i=0;i<m;i++){
cin>>p>>q;
if(!((num>>p)&1) && !bt[p]){
if(!((num>>p)&1) && !bt[p]){ //已有的n个编号里面没有出现过的规则并且还未标记,bt用来去重
k--;
bt[p]=true;
}
}
for(int i=0;i<k;i++)ans*=2;
cout<<ans-n<<'\n';
for(int i=0;i<k;i++)ans*=2; //此时ans=所有(未排除n个已用规则),可以用的二进制位的组合
cout<<ans-n<<'\n';//注意这里要去重
}