ABC078 B - ISU

備忘録

問題

atcoder.jp

回答

import sys
import os
import math

MOD = 10**9+7

def main():
    if os.getenv("LOCAL"):
        sys.stdin = open("input.txt", "r")

    X, Y, Z = list(map(int, sys.stdin.readline().split()))
    print((X-Z)//(Y+Z))


if __name__ == '__main__':
    main()

考え方

考える点は2つ

  • 1人が座るときYcmの幅を取るが、隣とZcm離れるため、一人当たりY+Xcm使用する

  • 椅子の端と人との間にはZcm間をあける必要がある

仮に、2人座ることが出来るXcmの椅子の場合、
椅子はZ Y Z Y Zと幅を使用して座っている。
これを求めるためには、はじめに椅子の端と人との間を除いた椅子の幅X - Z (Y Z Y Z)を求め、
椅子の端と人との間を除いた椅子の幅(X - Z)から一人当たりが使用する幅(Y+Z)を除算することで、
何人座ることができるか求めることが出来る。