位運算二進位制列舉子集 李白喝酒

2021-08-15 18:58:41 字數 732 閱讀 1394

話說大詩人李白,一生好飲。幸好他從不開車。 

一天,他提著酒壺,從家裡出來,酒壺中有酒兩斗。他邊走邊唱:

無事街上走,提壺去打酒。 

逢店加一倍,遇花喝一斗。

這一路上,他一共遇到店 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 次,已知最後一次遇到的是花,他正好把酒喝光了 請你計算李白...