Đư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: 136hoặc 1010010hoặ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, 010vv
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 1với đầu vào, đầu ra sẽ là 1000000000hoặ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 Hcó thể được tắt bằng 013, nhưng cũng 489và 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.
301cho H).
17, 08và 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à 39và 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à 56và 2389.
2khô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, 1358hoặc 1369, tùy thuộc vào việc bạn muốn có một 0, 8hoặc 9trong 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 1và 3.