알고리즘

[백준, 파이썬, 1362번] 펫

hminor 2024. 1. 3. 17:20

풀이

  • 해당 문제는 단순하게 풀 수 있는 문제로
  • 현재 체중이 적정 체중의 1/2 초과 2배 미만으로 있는지에 대한 여부와
  • 0이하의 체중 그리고 이외 이렇게 분류해서 해결할 수 있는데
  • 여기서 간과했던 부분으로는 문제의 마지막에 있는 문장으로
  •  ` 매 작용이 끝날 때마다 펫은 자신의 상태를 표시하며, 펫이 중간에 죽는다면 이후의 작용은 무시됩니다.`
  • 위 조건을 적용해야 해결이 되기에 state를 두어 해결 할 수 있도록 함.

 

import sys
input = sys.stdin.readline
cnt = 0
while True:
    state = False
    cnt += 1
    o,w = map(int,input().split())
    if o == 0 and w == 0: break
    while True:
        x,y = input().rstrip('\n').split()
        y = int(y)
        if x == '#': break
        elif x == 'E': w -= y
        else: w += y
        if w <= 0: state = True
   
    if w <= 0 or state: print("%d RIP"%cnt)
    elif o//2 < w < o*2: print("%d :-)"%cnt)
    else:print("%d :-("%cnt)