题解 | 小红杀怪

小红杀怪

https://www.nowcoder.com/practice/d337370cc83146ad9a02ea554fd2594b

只需要枚举使用单体攻击的次数就行了。

import sys
import math
import queue
import itertools
import heapq
from collections import deque
from array import array
from bisect import bisect_right


def read():
    line = sys.stdin.readline()
    if not line:
        return []
    return list(map(int, line.split()))


def readf():
    line = sys.stdin.readline()
    if not line:
        return []
    return list(map(float, line.split()))


mod = 10**9 + 7
inf = 10**18


def solve():
    a, b, x, y = read()
    ans = inf
    for i in range(0, 21):  # 枚举单体攻击次数
        cnt = i
        res = 0
        aa, bb = a, b
        while cnt > 0:
            if aa > bb:
                aa -= x
            else:
                bb -= x
            res += 1
            cnt -= 1
        if aa > 0 or bb > 0:
            mx = max(aa, bb)
            res += (mx + y - 1) // y
        ans = min(ans, res)
    print(ans)


def main():
    t = 1
    # t = int(sys.stdin.readline())
    for _ in range(t):
        solve()


if __name__ == "__main__":
    main()

全部评论

相关推荐

11-17 23:00
南昌大学 Java
我要娶个什么名:10元一天 0元提成😂
点赞 评论 收藏
分享
牛客97567122...:我最近投的几个,都是要不已读不回,要不不回,还有直接拒绝的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务