Lý lịch
Kỷ niệm ngày phát hành Dyalog APL 16.0 , trong đó giải pháp cho vấn đề này là {⊢⌺(≢⍵)⊢⍵}
Giải thích
Bài tập
Cho một chuỗi ASCII in có độ dài lẻ n , làm cho một n × n vuông với chuỗi trung tâm theo chiều ngang, nhân đôi để được tập trung theo chiều dọc, và với acrostics của chuỗi giống nhau trong mỗi hàng và cột. Lưu ý rằng tất cả trừ các chuỗi trung tâm sẽ bị cắt để giữ kích thước của hình vuông n × n .
Giải thích về mã của bạn sẽ được nhiều đánh giá cao.
Quy tắc
- Bạn có thể có khoảng trắng ở cuối và dòng mới (bao gồm cả tam giác phía dưới bên phải)
- Bạn có thể trả về một danh sách các chuỗi
Ví dụ sử dụng chuỗi ABXCD
:
n là 5. Đầu tiên chúng ta vẽ hai chuỗi trung tâm, một ngang và một dọc:
┌─────┐ A │ B │ABXCD│ C │ D └─────┘
(Hộp giới hạn 5 × 5 được thêm vào cho rõ ràng)
Sau đó, chúng tôi đặt tất cả các động tác có thể, theo chiều ngang và chiều dọc:
Một AB ┌─────┐ │ ABX│CD ABXC│D │ABXCD│ A│BXCD AB│XCD └─────┘ CD D
Cuối cùng, chúng tôi chỉ trả lại những gì bên trong hộp giới hạn:
ABX ABXC ABXCD BXCD XCD
Các trường hợp thử nghiệm
World
:
Wor
Worl
World
orld
rld
mississippi
:
missis
mississ
mississi
mississip
mississipp
mississippi
ississippi
ssissippi
sissippi
issippi
ssippi
Pneumonoultramicroscopicsilicovolcanoconiosis
:
Pneumonoultramicroscopi
Pneumonoultramicroscopic
Pneumonoultramicroscopics
Pneumonoultramicroscopicsi
Pneumonoultramicroscopicsil
Pneumonoultramicroscopicsili
Pneumonoultramicroscopicsilic
Pneumonoultramicroscopicsilico
Pneumonoultramicroscopicsilicov
Pneumonoultramicroscopicsilicovo
Pneumonoultramicroscopicsilicovol
Pneumonoultramicroscopicsilicovolc
Pneumonoultramicroscopicsilicovolca
Pneumonoultramicroscopicsilicovolcan
Pneumonoultramicroscopicsilicovolcano
Pneumonoultramicroscopicsilicovolcanoc
Pneumonoultramicroscopicsilicovolcanoco
Pneumonoultramicroscopicsilicovolcanocon
Pneumonoultramicroscopicsilicovolcanoconi
Pneumonoultramicroscopicsilicovolcanoconio
Pneumonoultramicroscopicsilicovolcanoconios
Pneumonoultramicroscopicsilicovolcanoconiosi
Pneumonoultramicroscopicsilicovolcanoconiosis
neumonoultramicroscopicsilicovolcanoconiosis
eumonoultramicroscopicsilicovolcanoconiosis
umonoultramicroscopicsilicovolcanoconiosis
monoultramicroscopicsilicovolcanoconiosis
onoultramicroscopicsilicovolcanoconiosis
noultramicroscopicsilicovolcanoconiosis
oultramicroscopicsilicovolcanoconiosis
ultramicroscopicsilicovolcanoconiosis
ltramicroscopicsilicovolcanoconiosis
tramicroscopicsilicovolcanoconiosis
ramicroscopicsilicovolcanoconiosis
amicroscopicsilicovolcanoconiosis
microscopicsilicovolcanoconiosis
icroscopicsilicovolcanoconiosis
croscopicsilicovolcanoconiosis
roscopicsilicovolcanoconiosis
oscopicsilicovolcanoconiosis
scopicsilicovolcanoconiosis
copicsilicovolcanoconiosis
opicsilicovolcanoconiosis
picsilicovolcanoconiosis
icsilicovolcanoconiosis
Lời cảm ơn
Cảm ơn dzaima , Leaky Nun , ông Xcoder cho tất cả mọi thứ trừ chính ý tưởng của thử thách này.