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

Bảng điện tử hỏng

Đề bài

Mô tả

Một bảng điện tử hiển thị N chữ số, mỗi chữ số được tạo từ 7 đoạn (segment) như trên đồng hồ điện tử. Mỗi đoạn có thể đang sáng (1) hoặc đang tắt (0). Mười chữ số từ 0 đến 9 lần lượt được mã hoá bằng các chuỗi nhị phân độ dài 7 sau:

0: 1110111, 1: 0010010, 2: 1011101, 3: 1011011, 4: 0111010, 5: 1101011, 6: 1101111, 7: 1010010, 8: 1111111, 9: 1111011.

Sau một cú đập, có đúng K đoạn bị tắt (so với trạng thái đúng ban đầu). Bạn được cho trạng thái sáng/tắt hiện tại của tất cả các đoạn. Nhiệm vụ: hãy bật lại đúng K đoạn trong số các đoạn hiện đang tắt sao cho mọi vị trí đều hiển thị một chữ số hợp lệ (từ 0 đến 9), và số tạo thành (đọc theo thứ tự các vị trí) là lớn nhất có thể. Cho phép số có chữ số 0 ở đầu.

Bạn không được tắt thêm bất kỳ đoạn nào đang sáng.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên NK.
  • N dòng tiếp theo, mỗi dòng chứa một chuỗi nhị phân độ dài 7 mô tả trạng thái hiện tại của các đoạn tại vị trí thứ i (vị trí 1 ở bên trái nhất).

Dữ liệu ra

In ra số có N chữ số lớn nhất có thể hiển thị sau khi bật đúng K đoạn, hoặc 1 nếu không tồn tại cách bật.

Ràng buộc

  • 1N2000
  • 0K2000

Ví dụ

Input Output Giải thích
1 7
0000000
8 Toàn bộ 7 đoạn đang tắt, phải bật cả 7 → chữ số 8.
2 5
0010010
0010010
97 Hai vị trí đang hiển thị số 1. Phân bố 5 đoạn: vị trí 1 bật 3 đoạn thành 9, vị trí 2 bật 2 đoạn thành 7.
3 5
0100001
1001001
1010011
-1 Không có cách phân bố đúng 5 đoạn để cả ba vị trí cùng trở thành chữ số hợp lệ.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0