Đưa ra màn hình 7 đoạn với một số phân đoạn được bật và tắt, hãy tìm một chuỗi các chữ số (0-9), để sau khi bật các phân đoạn tương ứng cho mỗi chữ số, tất cả các phân đoạn đều bị tắt.
Thí dụ
_
_ [3] => | [1] => [OFF]
_ |
Số và các phân đoạn tương ứng của chúng:
_ _ _ _ _ _ _ _
| | | _| _| |_| |_ |_ | |_| |_|
|_| | |_ _| | _| |_| | |_| _|
Quy tắc
Codegolf, mục nhập ngắn nhất sẽ thắng.
Đầu vào
Một danh sách không trống các phân đoạn được bật, được đưa ra dưới dạng
Một dãy số. Các phân đoạn được đánh số từ trên xuống dưới, từ trái sang phải; bắt đầu từ 0 hoặc 1. Các số không cần phải theo thứ tự.
Một chữ số 7 bit duy nhất. MSB / LSB không được chỉ định (do đó bạn có thể chọn).
Các ký tự không phải là số giữa các số được cho phép (nhưng không bắt buộc phải được hỗ trợ).
Ví dụ. cho số 7
: 136
hoặc 1010010
hoặc0100101
Đầu ra
Một chuỗi các số được "áp dụng" cho màn hình. Không bị hạn chế dưới bất kỳ hình thức nào, chẳng hạn như thứ tự của các chữ số. Ví dụ. cho trạng thái ban đầu tương ứng với số lượng 1
, kết quả đầu ra hợp lệ sẽ 1
, 111
, 010
vv
Một đầu ra thay thế là một chữ số 10 bit (một lần nữa, MSB / LSB là lựa chọn của bạn). Ví dụ. đối 1
với đầu vào, đầu ra sẽ là 1000000000
hoặc 0000000001
.
Một số kết hợp có một số giải pháp không lặp lại, ví dụ. các phân đoạn tương ứng với chữ in hoa H
có thể được tắt bằng 013
, nhưng cũng 489
và 0258
.
Nếu không có giải pháp nào tồn tại (mà tôi tin là không thể), thì đầu ra trống rỗng.
301
cho H
).
17
, 08
và 1479
. Các giải pháp cho các phân đoạn dọc trên, từ trái sang phải, là 39
và 59
. Các giải pháp cho các phân đoạn dọc thấp hơn, từ trái sang phải, là 56
và 2389
.
2
không phải lúc nào cần thiết, bởi vì bạn có thể thay thế nó với một trong hai 0468
, 1358
hoặc 1369
, tùy thuộc vào việc bạn muốn có một 0
, 8
hoặc 9
trong câu trả lời của bạn, nhưng không có cách nào để loại bỏ 7
ở tất cả, và tôi nghĩ rằng bạn phải có ít nhất một của 1
và 3
.