Bạn nên viết một chương trình hoặc hàm nhận một khối ký tự được biểu diễn dưới dạng một chuỗi và xuất ra hoặc trả về một chuỗi tương tự trong đó các chữ cái liền kề trong bảng chữ cái được kết nối.
Một ví dụ trực quan (dưới dạng input => output
):
b d b d
|\ /|
| \ / |
=> | X |
| / \ |
e |/ \e
c a c a
Chi tiết
- Đầu vào sẽ là một chuỗi chứa khoảng trắng, dòng mới và chính xác là một trong mỗi
N
chữ cái viết thường đầu tiên .1 <= N <= 26
- Các dòng của đầu vào sẽ được đệm với các khoảng trống tạo ra một khối hình chữ nhật đầy đủ.
- Mỗi cặp chữ cái liền kề trong bảng chữ cái sẽ nằm trên cùng một hàng, cột hoặc đường chéo và nên được kết nối với một dòng ascii thẳng bằng cách sử dụng
\ / | or -
. (Dòng có thể có độ dài bằng 0.) Các loại chồng chéo hai dòng sau đây nên được xử lý:
/ and \ become X | and - become + / and / become / \ and \ become \ | and | become | - and - become - [letter] and [anything] become [letter]
Không có loại chồng chéo hai dòng khác sẽ xảy ra.
- Nếu có nhiều hơn hai dòng trùng nhau, bất kỳ cặp nào trong số chúng sẽ được đảm bảo là một trong các chồng chéo hợp lệ. (ví dụ như
[letter] / |
bộ ba sẽ không bao giờ xảy ra) - Ngoài việc thay đổi không gian thành
\ / | - X and +
đầu vào và đầu ra nên giống hệt nhau. - Trailing newline là tùy chọn nhưng phải giống nhau cho đầu vào và đầu ra.
- Đây là môn đánh gôn nên bài dự thi ngắn nhất sẽ thắng.
Ví dụ
Đầu vào:
b d
h gi
e f
c a
Đầu ra:
b d
|\ /|
| \ / |
| X h+--gi
| / \ | |
|/ \e--f
c a
Đầu vào:
dk j
b l
c fg
a m
i h
e
Đầu ra:
dk----j
/|| /
b / |l /
|X | \/
c \ fg/\
\|/\ \
a \ m
/| \
i-+----h
e
Đầu vào:
eti sqjh k p u cfm vb owgzyx rnd la
Đầu ra:
eti--sqjh-k--p--u--cfm-vb-owgzyx-rnd-la
Đầu vào:
a
Đầu ra:
a
nghệ thuật ascii thực sự tốt đẹp
—
Trình tối ưu hóa
Điều gì xảy ra nếu cả X và + trùng nhau phải ở cùng một điểm? Hay đó không phải là một trường hợp chúng ta nên giải thích?
—
theonlygusti
@theonlygusti "Nếu có nhiều hơn hai dòng trùng nhau, bất kỳ cặp nào trong số chúng sẽ là một trong các phần trùng lặp hợp lệ" Ví dụ
—
Randomra
/
và -
là các phần trùng lặp không hợp lệ X
và +
( / \ - and |
) không thể xảy ra ở cùng một vị trí.
Vẫn còn bối rối; Tại sao không cho chúng tôi một số ví dụ?
—
theonlygusti
@theonlygusti: Về cơ bản, đó không phải là trường hợp bạn nên giải thích
—
Claudiu