본문 바로가기
Algorithm

[구현/수학] 백준 2991 사나운 개 - 파이썬(Python)

by jangThang 2022. 11. 19.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    2991번: 사나운 개

    창영 마을의 우체부, 우유배달원, 신문배달원은 상근이네 집에 가는 것을 매우 싫어한다. 그 이유는 상근이네 집에는 사나운 개 두 마리가 지키고 있기 때문이다. 하지만, 그들은 이 개의 행동

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     주기적으로 공격하고 휴식하는 2마리의 '사나운 개'가 있습니다. 우체부와 우유배달원, 신문배달원의 도착시간이 주어질 때, 사나운 개에게 물리는 횟수를 구해야 합니다.

     

     

     

    3. 코드

    import sys
    input = sys.stdin.readline
    
    # 입력
    A, B, C, D = map(int, input().split()) # A C분 공격, B D분 휴식
    P, M, N = map(int, input().split()) # 우체부/우유배달원/신문배달원 도착
    
    # 출력
    for t in [P, M, N]:
        cnt = 0  # 물리는 횟수
        if 0 < t % (A+B) <= A:
            cnt += 1
    
        if 0 < t % (C+D) <= C:
            cnt += 1
        print(cnt)

     첫 번째 개의 주기는 A+B이고, 두 번째 개의 주기는 C+D입니다. 그중 1~A까지는 첫 번째 개가 물고, 1~C까지는 두 번째 개가 뭅니다.

     

    star가 되고나서 Tistory

    반응형

    댓글