本文共 725 字,大约阅读时间需要 2 分钟。
为了解决这个问题,我们需要计算Ann购买足够的地铁票以覆盖她计划乘坐的车次数的最小花费。我们可以采用以下方法来找到最优解:
Ann有三种购买车票的选择:
a 卢比。b 卢比。具体步骤如下:
然后比较这三种情况,取最小值作为最优解。
n, m, a, b = map(int, input().split())total1 = n * atotal2 = ((n + m - 1) // m) * bk = n // mr = n % mtotal3 = k * b + r * aprint(min(total1, total2, total3))
n, m, a, b,分别表示需要乘坐的地铁次数、每次 m 次票的车次数、单独票的价格和 m 次票的价格。total1 = n * a。((n + m - 1) // m) 计算需要购买的 m 次票次数,然后乘以 b。k = n // m,剩下的车次数 r = n % m,然后计算总花费 total3 = k * b + r * a。这种方法确保了我们考虑了所有可能的购买策略,从而找到最优解。
转载地址:http://vboiz.baihongyu.com/