update
This commit is contained in:
parent
3dd0e20f21
commit
5ffc1ba92f
@ -27,7 +27,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
ull n,m,c,k,num,input,p,q,ans {1};
|
ull n,m,c,k,num,input,p,q,ans {1}, _;
|
||||||
bitset<64+5> bt;
|
bitset<64+5> bt;
|
||||||
|
|
||||||
ReadNumber<ull> readull;
|
ReadNumber<ull> readull;
|
||||||
@ -46,12 +46,13 @@ int main(){
|
|||||||
num |= input; //所有编号占用的'1'的位置,把他并在一起
|
num |= input; //所有编号占用的'1'的位置,把他并在一起
|
||||||
}
|
}
|
||||||
for(ull i=0;i<m;i++){
|
for(ull i=0;i<m;i++){
|
||||||
cin>>p>>q;
|
cin>>p>>_;
|
||||||
if(!((num>>p)&1) && !bt[p]){ //已有的n个编号里面没有出现过的规则,并且还未标记,bt用来去重
|
if(!((num>>p)&1) && !bt[p]){ //已有的n个编号里面没有出现过的规则,并且还未标记,bt用来去重
|
||||||
k--;
|
k--;
|
||||||
bt[p]=true;
|
bt[p]=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// ans = 1ull<<k;
|
||||||
for(int i=0;i<k;i++)ans*=2; //此时ans=所有(未排除n个已用规则),可以用的二进制位的组合
|
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