Bulls and Cows
Đề bài
Mô tả
Trong trò chơi "Bulls and Cows", người ra đề nghĩ ra một số gồm bốn chữ số trong hệ thập phân, trong đó tất cả các chữ số đều khác nhau đôi một. Số này có thể có chữ số 0 ở đầu (nhưng vì các chữ số phải khác nhau nên nhiều nhất chỉ có một chữ số 0 ở đầu).
Người đoán đưa ra các số thử, mỗi số cũng gồm bốn chữ số khác nhau đôi một (có thể có chữ số 0 ở đầu). Với mỗi số thử, người ra đề trả lời dưới dạng " bulls cows":
- (số "bulls") là số chữ số của số thử đứng đúng vị trí như trong số bí mật.
- (số "cows") là số chữ số của số thử có xuất hiện trong số bí mật nhưng đứng ở vị trí khác.
Ví dụ, nếu số bí mật là 0123 thì số thử 1263 nhận trả lời "1 bull 2 cows" (chữ số 3 đúng vị trí; chữ số 1 và 2 có mặt nhưng khác vị trí).
Cho lần đoán đã thực hiện cùng các câu trả lời tương ứng. Hãy xác định số bí mật dựa trên các thông tin này.
Dữ liệu vào
- Dòng đầu chứa số nguyên , số lần đoán đã thực hiện.
- dòng tiếp theo, mỗi dòng có dạng : là số thử thứ (bốn chữ số khác nhau, có thể có 0 ở đầu), là số bulls, là số cows.
Các số thử đều hợp lệ (đúng bốn chữ số, các chữ số khác nhau đôi một) và đôi một khác nhau. Vì người đoán chưa tìm ra số bí mật nên không có câu trả lời nào là "4 bulls 0 cows".
Dữ liệu ra
- Nếu dữ liệu đủ để xác định duy nhất số bí mật, in ra số đó bằng đúng bốn chữ số (thêm chữ số 0 ở đầu nếu cần).
- Nếu còn nhiều hơn một số thỏa mãn tất cả các câu trả lời, in ra
Need more data. - Nếu không có số nào thỏa mãn (tức người ra đề đã trả lời sai ở đâu đó), in ra
Incorrect data.
Ràng buộc
- và
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 1263 1 2 8103 2 1 |
Need more data | Có nhiều số bốn chữ số khác nhau thỏa mãn cả hai câu trả lời nên chưa xác định được. |
| 2 1234 2 2 1256 0 2 |
2134 | Chỉ có duy nhất số 2134 thỏa mãn: so với 1234 có 2 bulls (3, 4) và 2 cows (1, 2); so với 1256 có 0 bulls và 2 cows (1, 2). |
| 2 0123 1 1 4567 1 2 |
Incorrect data | Không tồn tại số bốn chữ số khác nhau nào thỏa mãn đồng thời cả hai câu trả lời. |
Bình luận