คุณจะรู้ว่าไม่มีอะไร ในสิ่งที่ฉันทำเพื่อ " ความโกลาหลเป็นบันได "เป็นเส้นที่น่าจดจำจากทีวีซีรีส์ Game of Thrones
จุดประสงค์ของการท้าทายนี้คือการสร้างบันไดจากความโกลาหลในศิลปะ ASCII
ความท้าทาย
อินพุต
- ความกว้างของบันได
W >= 3
(จำนวนเต็ม) - ขั้นสูง
H >= 2
(จำนวนเต็ม) - จำนวนของ rungs
N >= 2
(จำนวนเต็ม)
เอาท์พุต
บันไดที่มีรางแนวนอนและรางแนวตั้งกว้าง 1 ตัวอักษร ความกว้างของบันได ( W
) รวมถึงรางทั้งสองและความสูงของบันได ( H
) รวมถึงร่องที่เกี่ยวข้อง
Rungs ทั้งหมดรวมถึงสุดยอดและต่ำสุดจะมีรางแนวตั้งที่มีความยาวH-1
ทั้งด้านบนและด้านล่าง ตัวอย่างจะทำให้ชัดเจนยิ่งขึ้น
บันไดที่จะทำของพิมพ์อักขระ ASCII ที่ไม่ใช่ช่องว่างที่เป็นช่วงรวมจาก!
(จุดรหัส33
) ไป~
(จุดรหัส126
) ได้โดยง่ายตัวละครที่เกิดขึ้นจริงจะได้รับเลือกสุ่ม เมื่อได้รับอินพุตแต่ละตัวเลือกแบบสุ่มของตัวละครจะต้องมีความเป็นไปได้ที่ไม่ใช่ศูนย์ นอกเหนือจากนั้นการแจกแจงความน่าจะเป็นโดยพลการ
อนุญาตให้นำช่องว่างนำหน้าหรือต่อท้ายไม่ว่าจะเป็นแนวนอนหรือแนวตั้ง
ตัวอย่าง
รับW=5, H=3, N=2
หนึ่งผลลัพธ์ที่เป็นไปได้มีดังนี้
x :
g h
q$UO{
t T
6 <
bUZXP
8 T
5 g
โปรดทราบว่าความสูงรวมนั้นH*(N+1)-1
เป็นเพราะมีN
ขั้นตอนและN+1
ส่วนแนวตั้ง
กฎ Aditional
วิธีการป้อนข้อมูลและรูปแบบมีความยืดหยุ่นตามปกติ ตัวอย่างเช่นคุณสามารถป้อนตัวเลขสามตัวในลำดับใดก็ได้หรืออาร์เรย์ที่มีตัวเลขอยู่
เอาต์พุตอาจผ่าน STDOUT หรืออาร์กิวเมนต์ส่งคืนโดยฟังก์ชัน ในกรณีนี้อาจเป็นสตริงที่มีการขึ้นบรรทัดใหม่อาเรย์ตัวละคร 2D หรืออาเรย์ของสตริง
สามารถจัดเตรียมโปรแกรมหรือฟังก์ชั่น
ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
กรณีทดสอบ
สำหรับแต่ละW, H, N
เอาต์พุตที่เป็นไปได้จะปรากฏขึ้น
W=5, H=3, N=2:
\ ~
: K
ke:[E
5 u
0 _
8Fr.D
# r
7 X
W=3, H=2, N=2:
$ X
Mb)
0 ]
(T}
j 9
W=12, H=4, N=5:
d Y
P `
5 3
p$t$Ow7~kcNX
D x
` O
* H
LB|QX1'.[:[F
p p
x (
2 ^
ic%KL^z:KI"^
C p
( 7
7 h
TSj^E!tI&TN8
| [
< >
= Q
ffl`^,tBHk?~
O +
p e
n j
W=20, H=5, N=3:
G %
o y
% 3
- 7
U'F?Vml&rVch7{).fLDF
o }
U I
h y
a g
;W.58bl'.iHm\8v?bIn&
, U
N S
4 c
5 r
F3(R|<BP}C'$=}xK$F]^
' h
h u
x $
6 5