พิจารณาสแควร์ของอักขระ ASCII ที่พิมพ์ได้ (รหัสจุด 0x20 ถึง 0x7E) สำหรับความยาวด้านNเช่นดังต่อไปนี้ (ที่นี่, N = 6 ):
=\
g \
7
m+y "g
L ~
e> PHq
นอกจากนี้เรายังต้องใช้แต่ละแถวและแต่ละคอลัมน์จะมีอย่างน้อย1 พื้นที่และ1 ไม่ใช่พื้นที่ของตัวละคร (ตัวอย่างข้างต้นเป็นไปตามนี้)
เรากำหนดค่าลบของสี่เหลี่ยมจัตุรัสดังกล่าวให้เป็นสี่เหลี่ยมจัตุรัสขนาดเดียวกันซึ่งแต่ละพื้นที่ถูกแทนที่ด้วยพื้นที่ว่างและในทางกลับกัน เช่นต่อไปนี้จะเป็นค่าลบที่ถูกต้องของตัวอย่างด้านบน:
1234
a b cd
ZYXWV
!
{} [ ]
?
ตัวเลือกของอักขระที่ไม่ใช่ช่องว่างไม่เกี่ยวข้อง (ตราบใดที่อักขระเหล่านั้นมาจากช่วง ASCII ที่พิมพ์ได้)
ความท้าทาย
คุณจะเขียนโปรแกรมโดยใช้ซอร์สโค้ดแบบสี่เหลี่ยมที่มีความยาวด้านN> 1ซึ่งจะพิมพ์ค่าลบของตัวเองไปยัง STDOUT ต้องพิมพ์ช่องว่างต่อท้าย คุณสามารถหรือไม่พิมพ์บรรทัดใหม่ขึ้นบรรทัดเดียว
กฎควินินปกติยังมีผลบังคับใช้ดังนั้นคุณต้องไม่อ่านซอร์สโค้ดของคุณเองไม่ว่าโดยตรงหรือโดยอ้อม ในทำนองเดียวกันคุณต้องไม่สมมติสภาพแวดล้อม REPL ซึ่งพิมพ์ค่าของแต่ละนิพจน์ที่ป้อนโดยอัตโนมัติ
ผู้ชนะคือโปรแกรมที่มีความยาวด้านต่ำสุดN ในกรณีที่มีการผูกการส่งด้วยตัวอักษรที่ไม่ใช่ช่องว่างน้อยที่สุดในรหัสที่มาชนะ หากยังมีเสมอคำตอบที่เร็วที่สุดชนะ