(นี่คือรูปแบบที่หลากหลายในการพิมพ์ Negative of Code ของคุณซึ่งฉันชอบมันมาก! ขอบคุณMartin Büttner♦ - ข้อความนี้เกือบทั้งหมดเป็นของเขา)
ลองพิจารณาว่าสัญลักษณ์เป็นอักขระ ASCII ที่พิมพ์ได้ดังต่อไปนี้ (โปรดทราบว่ามีพื้นที่ว่างอยู่):
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
และตัวอักษรเป็นดังนี้:
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
พิจารณาสแควร์ของอักขระ ASCII ที่พิมพ์ได้สำหรับความยาวด้าน N ดังต่อไปนี้:
ONE,
{two}
&3,+=
!four
f|ve.
นอกจากนี้เรายังต้องการให้แต่ละแถวและแต่ละคอลัมน์ต้องมีสัญลักษณ์อย่างน้อยหนึ่งตัวและหนึ่งตัวอักษรและตัวเลข (ตัวอย่างข้างต้นเป็นไปตามนี้)
เรากำหนดสัญลักษณ์เชิงลบของสี่เหลี่ยมดังกล่าวให้เป็นสี่เหลี่ยมจัตุรัสที่มีขนาดเท่ากันซึ่งสัญลักษณ์แต่ละอันจะถูกแทนที่ด้วยตัวอักษรและตัวเลขและในทางกลับกัน ตัวอย่างเช่นต่อไปนี้จะเป็นสัญลักษณ์เชิงลบที่ถูกต้องของตัวอย่างข้างต้น:
[&]OK
a...b
1/100
i@#$%
(R) z
ตัวเลือกเฉพาะของตัวละครนั้นไม่เกี่ยวข้องตราบเท่าที่อยู่ในหมวดหมู่ข้างต้น
ความท้าทาย
งานของคุณคือการเขียนโปรแกรมด้วยซอร์สโค้ดสแควร์ที่มีความยาวด้าน N> 1 ซึ่งพิมพ์การลบเชิงสัญลักษณ์ของซอร์สโค้ดไปยัง STDOUT ต้องพิมพ์ช่องว่างต่อท้าย คุณสามารถหรือไม่พิมพ์บรรทัดใหม่ขึ้นบรรทัดเดียว
กฎควินินปกติยังใช้อยู่ดังนั้นคุณต้องไม่อ่านซอร์สโค้ดของคุณเองไม่ว่าโดยตรงหรือโดยอ้อม ในทำนองเดียวกันคุณต้องไม่สมมติสภาพแวดล้อม REPL ซึ่งพิมพ์ค่าของแต่ละนิพจน์ที่ป้อนโดยอัตโนมัติ
ผู้ชนะคือโปรแกรมที่มีความยาวด้านต่ำสุด N ในกรณีที่เสมอกันการส่งสัญลักษณ์ที่น้อยที่สุดในซอร์สโค้ดจะชนะ หากยังมีเสมอคำตอบที่เร็วที่สุดชนะ