실버키 회사의 사장 철수는 4자리 비밀번호 시스템을 구축하였다. 어느 날 그는 회사원들이 비밀번호를 자주 까먹는다는 사실을 알고, 비밀번호를 찾을 수 있도록 새로운 시스템을 고안하였다.
(ex) 1234가 정확한 비밀번호이고, 1539가 입력한 비밀번호라고 가정하자.
1 | 2 | 3 | 4 |
1 | 5 | 3 | 9 |
색깔이 있는 첫 번째 자리와 세 번째 자리가 일치하므로, 2를 출력한다.
(ex) 2938이 정확한 비밀번호이고, 3781이 입력한 비밀번호라고 가정하자.
2 | 9 | 3 | 8 |
3 | 7 | 8 | 1 |
2938에도 3과 8이 존재하고, 3781에도 3과 8이 존재하므로, 2를 출력한다.
실버키 회사를 넘보던 크래커 호철이는 이 시스템을 이용하여 비밀번호를 얻은 뒤, 회사에 침입해 보려고 한다. 하지만 사장인 철수도 생각은 있는지, N번 초과만큼 연속으로 입력이 불가능하게 만들어 놓았다. 그래서 호철이는 추측할 수 있는 비밀번호 N개를 모두 입력해 보았다. 호철이가 입력한 비밀번호와 결과가 입력될 때, 정확한 비밀번호를 출력하라.
입력 4 3157 1 2 1350 2 1 6120 0 2 2381 3 0 출력 2351
출처:usaco 2010 March blonze 의역:tncks0121(박수찬)
Jessie was learning about programming contests at Bessie's knee. "Do they play games?" she asked.
"Oh yes," Bessie nodded sagely. "Here's a classic."
MasterMind is a classic two player game. One of the players is the 'codemaker'; she picks a four digit secret number S (1000 <= S <= 9999). The other player is the 'codebreaker' who repeatedly guesses four digit numbers until she solves the code.
The codemaker provides feedback that comprises two integers for each codebreaker guess G_i (1000 <= G_i <= 9999). For each codebreaker guess, the codemaker's feedback comprises two integers:
For example, suppose codemaker's secret number is 2351. If codebreaker guesses 1350, the codemaker provides the feedback "2 1", since 3 and 5 are in correct locations in the number, and 1 is in the wrong location. As another example, if the secret number is 11223 (in a five-digit version of mastermind) and the guess is 12322, then the feedback would be "2 2".
Below is a sample game where the secret number is 2351:
Correct digits in correct location | Correct digits in wrong location Guess | | 3157 1 2 1350 2 1 6120 0 2 2381 3 0 2351 4 0
For this task, you are given N (1 <= N <= 100) guesses with their feedback in the middle of a game. You are asked to output the smallest four digit number which can be a candidate for codemaker's secret code (i.e., which satisfies all the constraints).
If there are no such numbers, output "NONE" (without the quotes).
* Line 1: A single integer: N * Lines 2..N+1: Line i+1 contains guess i and its two responses expressed as three space-separated integers: G_i, C_i, and W_i
입력 4 3157 1 2 1350 2 1 6120 0 2 2381 3 0 출력 2351
출처:usaco 2010 March blonze