李白喝酒
Posted 行尸走肉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了李白喝酒相关的知识,希望对你有一定的参考价值。
李白喝酒,起始有2斗酒,遇到酒店酒翻倍,遇到花店喝一斗。
5个酒店10个花店后刚好喝完。问李白有多少种可能?
二进制枚举:
最后刚好喝完,则最后肯定是花店,喝一斗酒。
假定酒店为1,花店为0,我们枚举14位的二进制数,使得它有5个1,9个0,且使得最后剩酒1斗即答案。
#include<bits/stdc++.h> using namespace std; int main() { int ans=0; for(int i=0;i<(1<<14);i++) { int tot0=0; int tot1=0; int num=2; for(int j=0;j<14;j++) { if(i&(1<<j)) { num*=2; tot1++; } else { num-=1; tot0++; } } if(tot1==5&&tot0==9&&num==1) { ans++; } } cout<<ans<<endl; return 0; }
以上是关于李白喝酒的主要内容,如果未能解决你的问题,请参考以下文章