พื้นหลัง
เฉลิมฉลองการเปิดตัว Dyalog APL 16.0โดยที่การแก้ไขปัญหานี้คือ{⊢⌺(≢⍵)⊢⍵}
คำอธิบาย
งาน
กำหนดสตริง ASCII พิมพ์ความยาวแปลก n , ทำให้n × nตารางกับสตริงศูนย์กลางแนวนอนซ้ำจะเป็นศูนย์กลางในแนวตั้งและมี acrostics ของสายเดียวกันในแต่ละแถวและคอลัมน์ โปรดทราบว่าทั้งหมด แต่สตริงศูนย์กลางจะถูกตัดออกเพื่อให้ขนาดของตารางn × n
คำอธิบายรหัสของคุณจะได้รับการชื่นชมมาก
กฎระเบียบ
- คุณอาจมีช่องว่างต่อท้ายและบรรทัดใหม่ (รวมถึงสามเหลี่ยมล่างขวา)
- คุณอาจส่งคืนรายการสตริง
ตัวอย่างการใช้สตริงABXCD
:
nคือ 5. ก่อนอื่นเราวาดสองเส้นกลาง, หนึ่งแนวนอนและแนวตั้งหนึ่ง:
┌─────┐ │ A │ │ B │ │ABXCD│ │ C │ │ D │ └─────┘
(เพิ่มขอบเขต 5 × 5 เพื่อความชัดเจน)
จากนั้นเราวาง acrostics ที่เป็นไปได้ทั้งหมดในแนวนอนและแนวตั้ง:
AB ┌─────┐ │ABX│CD │ABXC│D │ABXCD│ A│BXCD│ AB│XCD│ └─────┘ ซีดี D
ในที่สุดเรากลับเฉพาะสิ่งที่อยู่ภายในกล่องขอบเขต:
ABX ABXC ABXCD BXCD XCD
กรณีทดสอบ
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
กิตติกรรมประกาศ
ขอบคุณdzaima , Leaky Nun , Mr. Xcoderสำหรับทุกสิ่ง แต่ความคิดที่ดีของความท้าทายนี้