問題概要
問題ページ
-
A - Three-Point Shot
問題ページへ移動する
問題文
バスケットボールの試合が行われており、現在の両チームの得点は \(X\) 対 \(Y\) です。ここで \(X \neq Y\) であることが保証されます。
現在劣勢であるチームが、 \(3\) ポイントシュートを一本成功させて優勢に立つことはできますか?
つまり、現在得点が低い側のチームが \(3\) 点を得た場合、そのチームの得点が他方のチームの得点より真に高くなるかを判定してください。
制約
- \(0 \le X \le 100\)
- \(0 \le Y \le 100\)
- \(X \neq Y\)
- \(X, Y\) は整数である
問題の考察
劣勢のチームが\(3\) ポイントシュートで\(3\) 点を得た場合に逆転できるか答える問題。
「真に高くなる」の意味が分かれば簡単な問題。
こういう競プロ特有の言い回しは問題に慣れるしかない。
\(X\)と\(Y\)のいずれが勝っているか分からないが、\(X \neq Y\)なので同点ではない。
逆転するためには点差が\(3\)点未満であればよい。
abs()
で絶対値(点差)が\(3\)点未満かif
文で確認して答えを出力すればよい。
たびすけ
競プロ特有の言い回しは問題数をこなして慣れましょう!
ACコード
import sys
def solve():
input = sys.stdin.readline
mod = 10 ** 9 + 7
x, y = list(map(int, input().rstrip('\n').split()))
print("Yes" if abs(x - y) < 3 else "No")
if __name__ == '__main__':
solve()