ลองใช้กริดที่มีอักขระ ASCII ขนาด 16x16 ที่พิมพ์ได้ (รหัสคะแนน 0x20 ถึง 0x7E) มีเส้นทาง 30-select-15 จากด้านบนซ้ายไปที่มุมขวาล่างทำให้มีการเคลื่อนที่แบบมุมฉากเท่านั้นดังตัวอย่างต่อไปนี้:
##..............
.#..............
.######.........
......##........
.......##.......
........#.......
........#.......
........#.......
........###.....
..........###...
............#...
............####
...............#
...............#
...............#
แต่ละเส้นทางดังกล่าวประกอบด้วยอักขระ 31 ตัว โปรดทราบว่าตัวละครเหล่านั้นแต่ละตัวมีความแตกต่างกันในการต่อต้านแนวทแยงมุมทั้ง 31:
0123456789ABCDEF
123456789ABCDEFG
23456789ABCDEFGH
3456789ABCDEFGHI
456789ABCDEFGHIJ
56789ABCDEFGHIJK
6789ABCDEFGHIJKL
789ABCDEFGHIJKLM
89ABCDEFGHIJKLMN
9ABCDEFGHIJKLMNO
ABCDEFGHIJKLMNOP
BCDEFGHIJKLMNOPQ
CDEFGHIJKLMNOPQR
DEFGHIJKLMNOPQRS
EFGHIJKLMNOPQRST
FGHIJKLMNOPQRSTU
นี่ไม่ใช่ตารางตัวอย่าง นี่คือการสร้างภาพของการต่อต้านแนวทแยงมุมทั้ง 31
เราจะเรียกว่าตารางแบบเส้นทแยงมุมที่ไม่ซ้ำกันหากไม่มีการต่อต้านเส้นทแยงมุมมีตัวละครเดียวกันสองครั้ง หากกริดมีคุณสมบัตินี้จะไม่มีสองพา ธ ที่มีสตริงเหมือนกัน (เพื่ออธิบายให้ชัดเจนการสร้างภาพข้อมูลนั้นเป็นสิ่งที่ตรงกันข้ามกับเอกลักษณ์ในแนวทแยงมุม)
ความท้าทาย
ออกแบบกริด 16x16 ที่มีเอกลักษณ์ในแนวทแยงมุมเช่นเส้นทางจำนวนมากที่สุดเท่าที่จะเป็นไปได้คือรหัสที่ถูกต้องซึ่งพิมพ์Jabberwocky
ไปยัง STDOUT (พร้อมตัวแบ่งบรรทัดต่อท้าย) ในภาษาต่างๆให้มากที่สุด แต่ละรหัสอาจเป็นโปรแกรมเต็มรูปแบบหรือเนื้อความของฟังก์ชั่นแบบไม่มีพารามิเตอร์โดยไม่มีคำสั่ง return (นี่คือเพื่อไม่ให้กีดกันภาษาที่จำเป็นต้องมีรหัสในฟังก์ชั่นสำเร็จรูป / คลาส / เนมสเปซ)
หมายเหตุ:เพื่อความง่ายคุณสามารถใช้อักขระที่สงวนไว้สำหรับเซลล์ที่ไม่ได้ใช้อย่างที่ Ypnypnทำ
สำหรับแต่ละเส้นทางที่ถูกต้องโปรดระบุภาษาการเขียนโปรแกรมหนึ่งภาษาที่ถูกต้อง
ผู้ชนะคือการส่งภาษาที่มีจำนวนมากที่สุดซึ่งครอบคลุมโดยรายการด้านบน (หรือสำหรับแต่ละภาษาที่คุณต้องการนับให้แสดงเส้นทางเดียวที่ใช้ได้ในภาษานั้น แต่อย่าลืมนับเส้นทางใด ๆ สำหรับสองภาษา)
ในกรณีที่เสมอให้นับเซลล์กริดซึ่งไม่ถูกครอบคลุมโดยเส้นทางที่ถูกต้อง เซลล์ที่ไม่ได้ใช้น้อยลงจะชนะ หากยังคงมีเน็คไทฉันจะยอมรับคำตอบด้วยคะแนนเสียงมากที่สุด (สุทธิ)
สคริปต์ตรวจสอบ
ฉันเพิ่งวางตัวอย่างโค้ด CJam เล็ก ๆ น้อย ๆ ที่คุณสามารถใช้เพื่อตรวจสอบว่ากริดนั้นมีเอกลักษณ์ในแนวทแยงมุม
- ไปล่าม CJam ออนไลน์
วางรหัสต่อไปนี้
l:A; qN/W%A16**33/z{A-__|=}%:*"D""Not d"?"iagonally unique"
ในฟิลด์อินพุตให้ใส่อักขระที่สงวนไว้ในบรรทัดแรก (ใช้อักขระที่ไม่ได้ใช้หากคุณไม่ได้ทำการฟ้องอักขระที่สงวนไว้) จากนั้นกริดของคุณในบรรทัดที่ 2 ถึง 17 เช่นสำหรับคำตอบของ Ypnypn:
~ pr~~~~~~~~~~~~~ tin~~~~~~~~~~~~ ~ypt(~~~~~~~~~~~ ~~ef(~~~~~~~~~~~ ~~ "J~~~~~~~~~~ ~~~~~ab~~~~~~~~~ ~~~~~~be~~~~~~~~ ~~~~~~~rwo~~~~~~ ~~~~~~~~~ck~~~~~ ~~~~~~~~~~y~~~~~ ~~~~~~~~~~\n~~~~ ~~~~~~~~~~~")) ~ ~~~~~~~~~~~ ; ~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
วิ่ง.
แจ้งให้เราทราบหากคุณคิดว่ามันมีข้อผิดพลาด