Lấy cảm hứng từ trò chơi nhỏ này .
Thử thách
Đưa ra làm đầu vào vị trí ban đầu của lưới (luôn là 5x5), như thế này:
-ABCD
-A---
---C-
---BD
--E-E
Bạn cần kết nối các chữ cái (cùng một chữ cái với nhau), loại bỏ tất cả các -khoảng trống. Các chữ cái sẽ luôn luôn A,B,C,D and E.
Mỗi cặp chữ cái phải được kết nối bằng một dòng không phân chia duy nhất có thể uốn cong ở các góc phải (sử dụng cùng một chữ cái để mô tả dòng).
Đầu vào được đảm bảo có mỗi chữ cái bắt đầu chính xác 2 lần và nó sẽ luôn có tất cả các chữ cái bắt đầu AE.
Đầu vào có thể được đọc từ stdin hoặc một chuỗi duy nhất dưới dạng arg cho một số hàm, hoặc thậm chí là một mảng / matriz / danh sách các ký tự, cách thuận tiện nhất cho ngôn ngữ mã hóa của bạn.
Vì đây là mã-golf mã ngắn nhất tính bằng byte thắng!
Thí dụ
Không chỉ có một giải pháp cho mỗi vấn đề, mà các quy tắc áp dụng cho tất cả (không có khoảng trống và không có chữ cái tách biệt). Và đầu vào được đảm bảo có ít nhất một đầu ra chính xác.
Hãy bắt đầu kết nối các chữ cái A:
AABCD
AA---
AA-C-
AA-BD
AAE-E
Bây giờ, kết nối các chữ B:
AABCD
AAB--
AABC-
AABBD
AAE-E
Bây giờ, kết nối các chữ C:
AABCD
AABC-
AABC-
AABBD
AAE-E
Bây giờ, kết nối các chữ cái D:
AABCD
AABCD
AABCD
AABBD
AAE-E
Và, cuối cùng là các chữ E:
AABCD
AABCD
AABCD
AABBD
AAEEE
Một mẫu khác
input:
E--E-
BB-C-
AD---
---C-
AD---
output:
EEEEE
BBECE
ADECE
ADECE
ADEEE
input:
A----
---B-
-C-C-
-D-D-
BE-EA
output:
AAAAA
BBBBA
BCCCA
BDDDA
BEEEA
A-E?