만드는 중입니다

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

클루도

시간 제한1초메모리 제한256 MB

요약
숨겨진 (범인, 장소, 무기) 조합을 추측으로 찾아낸다. 틀린 추측은 잘못된 항목 하나를 임의로 알려준다.
난이도

보통10점 중 6점

유형
완전 탐색, 구현, 시뮬레이션, 그리디
정답자
아직 제출이 없습니다

문제

블랙 박사가 살해당했다. 질 형사는 살인자, 장소, 흉기를 알아내야 한다. 살인자는 6명이며 1번부터 6번까지 번호가 붙어 있다. 장소는 10곳이며 1번부터 10번까지 번호가 붙어 있다. 흉기는 6가지이며 1번부터 6번까지 번호가 붙어 있다.

이해를 돕기 위해 살인자, 장소, 흉기의 이름을 보여 준다. 이름은 문제를 푸는 데 필요하지 않다.

살인자장소흉기
1. Professor Plum
  1. Miss Scarlet
  2. Colonel Mustard
  3. Mrs. White
  4. Reverend Green
  5. Mrs. Peacock | 1) Ballroom
  1. Kitchen
  2. Conservatory
  3. Dining Room
  4. Billiard Room
  5. Library
  6. Lounge
  7. Hall
  8. Study
  9. Cellar | 1. Lead pipe
  1. Dagger
  2. Candlestick
  3. Revolver
  4. Rope
  5. Spanner |

질은 살인자, 장소, 흉기의 올바른 조합을 계속 추측한다. 추측 하나하나를 이론이라고 부른다. 질은 조수 잭에게 각 이론이 맞는지 틀린지 차례로 확인해 달라고 한다. 잭이 이론을 확인해 주면 질은 일을 마친다. 잭이 이론을 반박하면 살인자, 장소, 흉기 중 하나가 틀렸다고 질에게 알려 준다.

여러분은 질의 역할을 하는 Solve 프로시저를 구현해야 한다. 채점기는 새로운 문제마다 Solve를 여러 번 호출한다. Solve는 채점기가 구현한 Theory(M,L,W)를 반복해서 호출해야 한다. M, L, W는 살인자, 장소, 흉기의 특정 조합을 나타내는 수이다. Theory(M,L,W)는 이론이 맞으면 0을 반환한다. 이론이 틀리면 1, 2, 3 중 하나를 반환한다. 1은 살인자가 틀렸다는 뜻이고, 2는 장소가 틀렸다는 뜻이며, 3은 흉기가 틀렸다는 뜻이다. 둘 이상이 틀렸다면 잭은 틀린 것들 중 하나를 임의로 고른다(반드시 정해진 방식은 아니다). Theory(M,L,W)가 0을 반환하면 Solve는 반환해야 한다.

예제1

  1. 예제 1

    입력
    0
    
    예상 출력
    1 1 1