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