話說大詩人李白,一生好飲。幸好他從不開車。
一天,他提著酒壺,從家裡出來,酒壺中有酒兩斗。他邊走邊唱:
無事街上走,提壺去打酒。
逢店加一倍,遇花喝一斗。
這一路上,他一共遇到店 5 次,遇到花 10 次,已知最後一次遇到的是花,他正好把酒喝光了。請你計算李白遇到店和花的次序,有多少種可能的方案。
我們已知遇店 5 次,遇花 10 次,並且最後一次遇到花,正好把酒喝光。那麼我們可以把店作為二進位制中的 1,把花作為二進位制中的 0,因為已經確定最後一次遇到的是花,所以我們需要判斷列舉的結果是否剛好有 5個 1 和 9個 0。那麼我們就列舉出 14 位二進位制的所有可能並加以判斷即可,判斷思路為判斷二進位制是否有 9 個 0,5個 1,並且最終酒剛好剩 1 鬥 1<
#include #include #include #include #include #include using namespace std;
const int inf=0x3f3f3f3f;
int main(){
int ans=0;
for(int i=0;i<(1<<14);i++){
int tot_1=0;
int tot_0=0;
int num=2;
for(int j=0;j<14;j++){
if(i&(1<
藍橋杯 二進位制列舉 李白喝酒
話說大詩人李白,一生好飲。幸好他從不開車。一天,他提著酒壺,從家裡出來,酒壺中有酒兩斗。他邊走邊唱 無事街上走,提壺去打酒。逢店加一倍,遇花喝一斗。這一路上,他一共遇到店 5次,遇到花 10次,已知最後一次遇到的是花,他正好把酒喝光了。請你計算李白遇到店和花的次序,有多少種可能的方案。include...
二進位制列舉子集
利用二進位制的 開關 特性列舉 詳細為 如果給定集合a大小為n,則想象a 的每乙個元素相應乙個開關位 0或1 0表示不出現,1表示出現。當每乙個元素的開關位的值確定時,就得到乙個子集。因此共同擁有2 n 1種情況 全0為空集,這裡不考慮 我們利用區間 1,2 n 1 該區間上的每乙個整數相應乙個子集...
技巧 二進位制法列舉子集
我們來看乙個可以用二進位制列舉的方法解決的題目 話說大詩人李白,一生好飲 幸好他從不開車 一天,他提著酒壺,從家裡出來,酒壺中有酒兩斗 他邊走邊唱 無事街上走,提壺去打酒 逢店加一倍,遇花喝一斗 這一路上,他一共遇到店 5 次,遇到花 10 次,已知最後一次遇到的是花,他正好把酒喝光了 請你計算李白...