小红准备击杀一个boss,已知boss血量为a,小红每次攻击可使boss血量减少b,每次攻击前小红可花费代价1来增加或者减少对boss得一点伤害,求正好击杀boss得最小代价
时间: 2023-05-29 07:01:25 浏览: 67
假设最后一次攻击造成的伤害为x,则小红需要攻击 (a+x)/b 次才能将boss击杀。
因此,小红需要支付的代价为 (a+x)/b + min(x, b-x)。
关于 min(x, b-x) 的含义是,如果小红最后一次攻击造成的伤害 x < b-x,那么小红可以通过花费代价 1 来让最后一击造成的伤害增加到 b-x,这样可以使代价最小。
为了使代价最小,我们需要枚举最后一击造成的伤害 x,然后计算相应的代价,取最小值即可。具体代码如下:
```python
a, b = map(int, input().split())
min_cost = float('inf')
for x in range(1, b+1):
cost = (a+x)/b + min(x, b-x)
min_cost = min(min_cost, cost)
print(int(min_cost))
```
相关问题
小红准备击系一个boss。已知boss的9血最为a,小红每次攻击可9伤断1点,也可以花费¥击亲小红可以花费1的代价增加1的代价减少每次攻击boss的伤害1点。但这种操作必须在攻击boss之前进行。也就是说,当小红开始攻击boss了,就无法游行小红想知道,自己如果要保证完美击荣bos,需要最少多少代操作了。诱注意,小红只有战前停改自画的伤司需要花费代价,攻击boss价?并不需婴花费代价
首先,如果小红想在不改变攻击boss次数的情况下减少每次攻击的伤害,那么他需要花费的代价就等于boss的血量减去小红攻击boss的次数(因为每次攻击可以断1点血)。所以,如果小红不进行任何优化操作,需要攻击boss9次才能将其击败。
但是,如果小红愿意花费代价来优化攻击,那么可以得到以下结论:
1. 如果小红只使用减少攻击伤害的操作,那么他最多可以进行8次这样的操作,因为如果使用9次的话,小红就无法打败boss了。
2. 如果小红只使用增加攻击伤害的操作,那么他最多可以进行9次这样的操作,因为如果使用10次的话,小红就必须攻击9次才能打败boss,这时代价就无法抵消掉。
3. 如果小红同时使用增加和减少攻击伤害的操作,那么他需要进行的操作次数就要少一些。具体来说,如果小红使用n次减少攻击伤害的操作和m次增加攻击伤害的操作,那么他需要满足以下两个条件:
n + m < 9,即小红不能进行太多的优化操作,否则就无法打败boss;
a - n + m < 0,即小红需要花费的代价不能超过boss的血量,否则也无法打败boss。
根据这两个条件,我们可以得到如下表格:
| 减少攻击伤害次数 n | 增加攻击伤害次数 m | 实际攻击伤害 | 所需代价 | 攻击次数 |
| ------------------ | ------------------ | ---------- | -------- | -------- |
| 0 | 0 | 1 | 8 | 9 |
| 1 | 0 | 0 | 7 | 8 |
| 0 | 1 | 2 | 8 | 7 |
| 2 | 0 | -1 | 6 | 7 |
| 1 | 1 | 1 | 7 | 6 |
| 0 | 2 | 3 | 8 | 5 |
| 3 | 0 | -2 | 5 | 6 |
| 2 | 1 | 0 | 6 | 5 |
| 1 | 2 | 2 | 7 | 4 |
| 0 | 3 | 4 | 8 | 3 |
| 4 | 0 | -3 | 4 | 5 |
| 3 | 1 | -1 | 5 | 4 |
| 2 | 2 | 1 | 6 | 3 |
| 1 | 3 | 3 | 7 | 2 |
| 0 | 4 | 5 | 8 | 1 |
通过这个表格,我们就可以找到一个最优的方案,即小红使用n=2次减少攻击伤害的操作和m=2次增加攻击伤害的操作,这样他就可以在花费6的代价下,进行5次攻击,将boss击败。
请你用Python编写一个功能强大Python爬取小红书数据,Python使用的版本为python2.7.18
Python 2.7.18 是一个较旧的版本,但仍然可以用于编写功能强大的爬虫程序。下面是一个简单的示例,演示如何使用 Python 2.7.18 爬取小红书数据:
```python
# 导入所需的库
import requests
from bs4 import BeautifulSoup
# 定义要爬取的网页链接
url = "https://www.xiaohongshu.com/"
# 发送HTTP请求并获取网页内容
response = requests.get(url)
html_content = response.text
# 使用BeautifulSoup解析网页内容
soup = BeautifulSoup(html_content, "html.parser")
# 提取所需的数据
data = soup.find("div", class_="data-container").text
# 打印提取的数据
print(data)
```
请注意,这只是一个简单的示例,实际的爬虫程序可能需要更多的代码来处理不同的页面结构、处理数据、处理异常等。另外,建议使用较新版本的 Python(如 Python 3.x),因为 Python 2.7 已于2020年1月1日停止维护。