雇佣兵
題目鏈接:http://noi.openjudge.cn/ch0105/37/
總時間限制:?1000ms內存限制:?65536kB描述雇傭兵的體力最大值為M,初始體力值為0、戰斗力為N、擁有X個能量元素。
當雇傭兵的體力值恰好為M時,才可以參加一個為期M天的戰斗期,戰斗期結束體力值將為0。在同一個戰斗期內,雇傭兵每連續戰斗n天,戰斗力就會上升1點,n為當前戰斗期開始時的戰斗力。
一個戰斗期結束后,雇傭兵需要用若干個能量元素使其體力恢復到最大值M,從而參加下一個戰斗期。每個能量元素恢復的體力值不超過當前的戰斗力。每個能量元素只能使用一次。
請問:雇傭兵的戰斗力最大可以到達多少。
PS:這道題真沒看懂題目是什么意思,尤其能力元素x的消耗量是怎么定義的。
下面是別人的代碼,從代碼推銷題目意思,似乎題目意思也不是跟代碼一個樣啊……
哪位朋友理解了題目意思,還希望能給留言解析一下
1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 int m,n,x; 6 scanf("%d%d%d",&m,&n,&x);//體力、戰斗力、能量元素 7 //如果剛開始他的戰斗力大于m ,那么戰斗m天湊不夠n天,所以他的戰斗力值不會增加 8 //循環體中,能量減少(m/n向上取整),戰斗力增加(m/n向下取整),直到能量用完。 9 while(n<=m&&x) 10 { 11 x-=ceil( ((double)m)/n); 12 if(x<0) break; 13 n+=floor(((double)m)/n); 14 } 15 printf("%d\n",n); 16 }?
轉載于:https://www.cnblogs.com/huashanqingzhu/p/7269136.html
總結
- 上一篇: 免oracle客户端下载,Oracle免
- 下一篇: oracle 压缩导出 导入,EXP直接