Edit

【pythonでABC164を解説】B - Battle

問題概要

問題ページ

B - Battle
B - Battle

問題ページへ移動する

問題文

高橋君と青木君がモンスターを闘わせます。

高橋君のモンスターは体力が \(A\) で攻撃力が \(B\) です。
青木君のモンスターは体力が \(C\) で攻撃力が \(D\) です。

高橋君→青木君→高橋君→青木君→... の順に攻撃を行います。
攻撃とは、相手のモンスターの体力の値を自分のモンスターの攻撃力のぶんだけ減らすことをいいます。
このことをどちらかのモンスターの体力が \(0\) 以下になるまで続けたとき、
先に自分のモンスターの体力が \(0\) 以下になった方の負け、そうでない方の勝ちです。

高橋君が勝つなら Yes、負けるなら No を出力してください。

制約

  • \(1 \leq A,B,C,D \leq 100\)
  • 入力はすべて整数である。

問題の考察

ACコード

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    a, b, c, d = list(map(int, input().rstrip('\n').split()))
    for i in range(10 ** 20):
        if i % 2 == 0:
            c -= b
            if c <= 0:
                print("Yes")
                exit()
        else:
            a -= d
            if a <= 0:
                print("No")
                exit()


if __name__ == '__main__':
    solve()

-Edit