마스터마인드
면접 대비시간 제한1초메모리 제한128 MB
최대 100개의 추측과 정확한 자리 수, 잘못된 자리 수가 주어질 때 모든 조건과 맞는 가장 작은 네 자리 비밀 숫자를 찾고, 없으면 NONE을 출력한다.
문제
마스터마인드(MasterMind)는 두 명이 즐기는 고전 게임이다.
한 명은 출제자로, 범위의 네 자리 비밀 숫자 를 정한다. 다른 한 명은 해독자로, 코드를 알아낼 때까지 네 자리 숫자를 계속 추측한다.
해독자가 추측한 숫자 ()마다, 출제자는 두 정수로 답한다.
- (): 추측한 숫자의 자리 중, 숫자와 위치가 모두 비밀 숫자와 일치하는 자리의 개수.
- (): 에 포함되지 않은 나머지 자리 중, 숫자는 맞지만 위치가 틀린 자리의 개수.
예를 들어 비밀 숫자가 이고 해독자가 을 추측하면 답은 2 1이다. 숫자 과 는 위치까지 정확하고, 은 들어 있지만 위치가 다르기 때문이다. 또 다른 예로, 다섯 자리 변형에서 비밀 숫자가 이고 추측이 이면 답은 2 2이다.
게임 도중에 이루어진 개 ()의 추측과 그 답이 주어진다. 아직 출제자의 비밀 숫자가 될 수 있는, 즉 모든 추측과 답에 모순되지 않는 네 자리 숫자 () 중 가장 작은 것을 출력하라. 그런 숫자가 없으면 NONE을 출력한다.
입력
- 첫째 줄: 정수 .
- 둘째 줄부터 째 줄까지: 째 줄에는 번째 추측과 두 개의 응답이 공백으로 구분된 세 정수 , , 로 주어진다.
출력
- 비밀 숫자와 같은 범위()에서, 비밀 코드가 될 수 있는 가장 작은 네 자리 숫자를 한 줄에 출력한다. 그런 숫자가 없으면
NONE이라는 단어를 한 줄에 출력한다.