좋은 놈, 나쁜 놈, 그리고 추한 놈
시간 제한2초메모리 제한512 MB
매 라운드 후 플레이어가 0에 있는지만 알려주는 상황에서, 플레이어가 Good, Bad, Ugly 중 무엇인지 30m 라운드 이내에 판별합니다.
문제
수직선을 생각하자. 플레이어는 처음에 위치에 서 있다. 매 라운드가 시작될 때 "+" 또는 "-" 중 하나를 말할 수 있다. 그러면 플레이어는 말한 기호에 따라 위치를 옮긴다. 기호 를 말했고 플레이어가 위치 에 있었다면, 플레이어는 로 이동한다. 여기서 와 는 두 정수 상수다.
플레이어는 다음 중 하나다.
- 좋은 플레이어(Good)는 , , 이다.
- 나쁜 플레이어(Bad)는 , , 이다.
- 추한 플레이어(Ugly)는 또는 중 하나이고, 과 또는 과 중 하나다.
정수 상수 ()의 값도 모른다. 매 라운드가 끝나면 플레이어는 자신이 에 있는지 아닌지 알려준다. 몇 라운드를 진행하면 플레이어가 Good, Bad, Ugly 중 누구인지 유일하게 가려낼 수 있다. 최대 라운드 안에 해결하라.
테스트마다 , , , 는 위 규칙에 따라 미리 정해지며, 검사 과정에서 바뀌지 않는다.