Arka fon
Kutlayan Dyalog APL 16.0 serbest bırakılmasını Bu sorunun çözümü ise, {⊢⌺(≢⍵)⊢⍵}
açıklanması
Görev
Bir ASCII bir dizge tek uzunlukta , n , bir hale n x n dize kare, yatay merkezli dikey olarak ortalanmış çoğaltılmış ve her satır ve sütun, aynı sıranın acrostics ile. Karenin boyutunu n × n tutmak için ortalanmış dizelerin dışındaki herkesin kesileceğini unutmayın .
Kodunuzun açıklaması çok takdir edilecektir.
kurallar
- Sonunda boşluk ve satırsonları olabilir (bu, sağ alt üçgeni içerir)
- Dizelerin bir listesini döndürebilirsiniz
Dizeyi kullanarak örnek ABXCD
:
n , 5'tir. İlk önce, biri orta diğeri dikey olan iki merkezlenmiş ipi çiziyoruz:
┌─────┐ │ A │ │ B │ │ABXCD│ │ C │ │ D │ └─────┘
(Netlik için 5 × 5 sınırlayıcı kutu eklendi)
O zaman mümkün olan tüm akrostikleri yatay ve dikey olarak yerleştiririz:
bir AB ┌─────┐ │ ABX│CD X ABXC│D │ABXCD│ A│BXCD │ AB│XCD │ └─────┘ CD D
Son olarak, sadece sınırlayıcı kutunun içindekileri döndürürüz:
ABX ABXC ABXCD BXCD XCD
Test durumları
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
Teşekkür
Dzaima , Leaky Nun , Bay Xcoder , bu meydan okuma fikri dışında her şey için teşekkürler .