Mõttemeister
면접 대비시간 제한1초메모리 제한1024 MB
여러 추측과 각 추측의 자릿수 일치 개수 A, 위치까지 맞은 개수 B가 주어질 때, 모든 단서와 모순되지 않는 네 자리 비밀 수를 모두 찾는다.
문제
Mõttemeister는 두 사람이 즐기는 보드게임이다. 첫 번째 사람은 비밀의 네 자리 수를 마음속으로 정하고, 두 번째 사람은 그 수를 알아맞힌다.
매 차례마다 알아맞히는 사람은 네 자리 수를 하나 제시한다. 첫 번째 사람은 두 값 와 로 답하는데, 는 제시한 수에 들어 있는 올바른 숫자의 개수이고, 는 그중에서 자리까지 맞은 숫자의 개수이다.
그 후 알아맞히는 사람은 다시 새로운 수를 제시하며, 비밀의 수를 맞히거나 정해진 횟수를 넘길 때까지 게임이 이어진다.
예를 들어 비밀의 수가 이라고 하자. 제시한 수 에 대한 답은 (숫자 와 가 올바름)와 (숫자 가 올바른 자리에 있음)이 된다.
제시한 수에 같은 숫자가 여러 번 나오면, 각 숫자는 비밀의 수에 들어 있는 개수만큼만 올바른 것으로 센다.
주어진 제시 수들과 그에 대한 답들을 바탕으로, 가능한 모든 비밀의 수를 찾는 프로그램을 작성하여라.
입력
첫째 줄에 정수 ()이 주어진다. 다음 개의 줄에는 각각 한 차례의 정보가 주어진다: 제시한 네 자리 수, 그 수에서 올바른 숫자의 개수 (), 그리고 그중 올바른 자리에 있는 숫자의 개수 ().
출력
첫째 줄에 가능한 비밀의 수의 개수 을 출력한다. 다음 개의 줄에 가능한 비밀의 수를 오름차순으로 한 줄에 하나씩 출력한다. 각 수는 항상 네 자리로, 필요하면 앞에 을 채워서 출력한다.