trang chủ / bài tập / bullcows

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 "x bulls y cows":

  • x (số "bulls") là số chữ số của số thử đứng đúng vị trí như trong số bí mật.
  • y (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 n 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 n, số lần đoán đã thực hiện.
  • n dòng tiếp theo, mỗi dòng có dạng ai bi ci: ai là số thử thứ i (bốn chữ số khác nhau, có thể có 0 ở đầu), bi là số bulls, ci 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

  • 1n10
  • 0bi,cibi+ci4

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

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0