만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

부지런한 비버

면접 대비

시간 제한2초메모리 제한1024 MB

요약
무한히 이어진 나무 줄에서 비버가 주어진 규칙대로 움직일 때, 처음 화난 상태에서 행복한 상태(H)에 도달할 수 있는지 판단합니다.
난이도

보통10점 중 4점

유형
그래프, BFS
정답자
아직 제출이 없습니다

문제

비버는 독특한 동물이다. 강에 댐을 쌓는 능력으로 가장 잘 알려져 있다.

댐을 쌓는 과정을 자세히 살펴보자. 처음에 비버는 길게 늘어선 나무 줄 앞에 서 있다. 이 줄은 양쪽 방향으로 무한히 이어진다. 각 나무는 좋은 나무이거나 나쁜 나무이다. 처음에는 모든 나무가 좋은 나무이다. 비버가 좋은 나무를 갉으면 그 나무는 나쁜 나무가 될 수 있고, 나쁜 나무를 갉으면 좋은 나무가 될 수 있다.

비버의 기분은 화남(angry), 바쁨(busy), 창의적(creative), 절망(despaired), 지침(exhausted)의 다섯 가지 중 하나이다. 처음에 비버는 화가 나 있다.

비버는 나무 앞에 서면 기분과 그 앞 나무의 상태에 따라 다음 행동을 한다.

  • 나무를 갉는다. 이때 나무는 나쁜 나무에서 좋은 나무로, 또는 좋은 나무에서 나쁜 나무로 바뀔 수 있다.
  • 기분을 다섯 가지 중 하나로 바꾼다. 기분은 그대로 유지될 수도 있다.
  • 왼쪽 이웃 나무 또는 오른쪽 이웃 나무로 이동한다.

특정한 기분과 나무 상태의 조합에서는 비버가 마침내 댐이 완성되었다고 판단하고 행복해질 수 있다. 하지만 비버가 끝내 행복해지지 않을 수도 있다.

주어진 규칙에 따라 이 비버가 행복해지는지 알아내라.

입력

입력 파일에는 공백으로 구분된 단어 10개가 있다. 각 단어는 세 글자이며 비버의 행동을 정한다. 첫 번째 단어는 좋은 나무 앞에 있는 화난 비버의 행동, 두 번째 단어는 나쁜 나무 앞에 있는 화난 비버의 행동, 세 번째 단어는 좋은 나무 앞에 있는 바쁜 비버의 행동이며, 이런 식으로 마지막 단어는 나쁜 나무 앞에 있는 지친 비버의 행동이다.

첫 글자는 비버가 나무를 나쁜 나무로 만들면 1, 좋은 나무로 만들면 0이다. 둘째 글자는 비버가 오른쪽으로 이동하면 R, 왼쪽으로 이동하면 L이다. 셋째 글자는 새 기분을 나타내는 A부터 E까지의 글자이거나, 비버가 행복해지면 H이다.

출력

비버가 행복해지면 happy beaver를, 그렇지 않으면 unhappy beaver를 출력한다.

예제2

  1. 예제 1

    입력
    1RB 1LC 1RC 1RB 1RD 0LE 1LA 1LD 1RH 0LA
    
    예상 출력
    happy beaver
    
  2. 예제 2

    입력
    0RA 0RA 0RA 0RA 0RA 0RA 0RA 0RA 0RA 0RA
    
    예상 출력
    unhappy beaver