B. Kana and Dragon Quest game 1337B
题意:给定h,操作1、2上限n、m。
- 操作1: h ⇒ ⌊ h 2 ⌋ + 10 h\Rightarrow\left \lfloor \frac{h}{2} \right \rfloor+10 h⇒⌊2h⌋+10
- 操作2: h ⇒ h − 10 h\Rightarrow h-10 h⇒h−10
思路:操作2能够减去的数字是固定的。对于操作1,当 h ⩾ 20 h\geqslant20 h⩾20时h始终下降。并且h越大减的越多。
先搞操作1,再操作2.判断最后是不是小于等于0。
int main(){
int t;
cin>>t;
LL x,n,m;
while(t--){
cin>>x>>n>>m;
while(x>=20&&n>0){
n--;
x=x/2+10;
}
while(m>0){
m--;
x-=10;
}
if(x<=0)puts2();
else puts3();
}
return 0;
}