สร้างโปรแกรมเพื่อกำหนดจำนวนตารางไขว้อย่างถูกต้อง
อินพุต
อินพุตจะเป็นชื่อของไฟล์ที่แสดงถึงกริดไขว้ ชื่อไฟล์อินพุตอาจถูกส่งผ่านเป็นอาร์กิวเมนต์ในอินพุตมาตรฐานหรือโดยวิธีการทั่วไปอื่นที่ไม่ใช่ฮาร์ดโค้ด
รูปแบบไฟล์กริด:ไฟล์ข้อความ บรรทัดแรกประกอบด้วยสองพื้นที่สีขาวแยกจำนวนเต็มคงที่และM
N
ตามแนวที่มีM
แต่ละบรรทัดประกอบด้วยN
ตัวอักษร (บวกบรรทัดใหม่) [#A-Z ]
เลือกจาก ตัวละครเหล่านี้ถูกตีความว่า'#'
เป็นสี่เหลี่ยมจัตุรัสที่ถูกบล็อกซึ่ง' '
เป็นสี่เหลี่ยมจัตุรัสเปิดในปริศนาที่ไม่มีเนื้อหาที่รู้จักและตัวอักษรใด ๆ ที่เป็นสี่เหลี่ยมเปิดซึ่งมีตัวอักษรนั้นอยู่
เอาท์พุต
เอาต์พุตจะเป็นไฟล์ตัวเลขและอาจถูกส่งไปยังเอาต์พุตมาตรฐานไปยังไฟล์ที่มีชื่อที่ได้มาจากชื่อไฟล์อินพุตไปยังไฟล์ที่ผู้ใช้ระบุหรือไปยังปลายทางทั่วไปอื่น ๆ
รูปแบบไฟล์หมายเลขไฟล์ข้อความ บรรทัดที่ขึ้นต้นด้วย '#' จะถูกละเว้นและอาจถูกใช้เพื่อแสดงความคิดเห็น สายอื่น ๆ ทั้งหมดมีแท็บแยกแฝดi
, m
, n
ที่i
หมายถึงจำนวนที่จะพิมพ์บนตารางและm
และn
เป็นตัวแทนของแถวและคอลัมน์ของตารางที่มันควรจะพิมพ์ จำนวนทั้งแถวและคอลัมน์เริ่มต้นที่ 1
โครงร่างลำดับเลข
กริดตัวเลขที่ถูกต้องมีคุณสมบัติดังต่อไปนี้:
- การกำหนดหมายเลขเริ่มต้นที่ 1
- ไม่มีคอลัมน์หรือช่วงของช่องสี่เหลี่ยมที่เปิดอยู่โดยไม่มีการเรียงลำดับ (คุณอาจคิดว่าไม่มีคำตอบของตัวอักษรเดียวในปัญหา)
- หมายเลขจะถูกพบในลำดับการนับโดยการสแกนจากแถวบนสุดไปที่ด้านล่างโดยแต่ละแถวจากซ้ายไปขวา (ดังนั้นทุกช่วงแนวนอนจะถูกนับไว้ที่สแควร์ด้านซ้ายสุดและทุกคอลัมน์จะมีหมายเลขที่สแควร์ด้านบนสุด)
ทดสอบอินพุตและเอาต์พุตที่คาดหวัง
การป้อนข้อมูล:
5 5
# ##
#
#
#
## #
เอาท์พุท (ละเลยบรรทัดความคิดเห็น):
1 1 2
2 1 3
3 2 2
4 2 4
5 2 5
6 3 1
7 3 4
8 4 1
9 4 3
10 5 3
นอกเหนือ
นี่เป็นครั้งแรกของสิ่งที่หวังว่าจะเป็นความท้าทายที่เกี่ยวข้องกับคำไขว้ ฉันวางแผนที่จะใช้ชุดรูปแบบไฟล์ที่สอดคล้องกันตลอดและเพื่อสร้างชุดของยูทิลิตี้ที่เกี่ยวข้องกับคำไขว้ในกระบวนการ ตัวอย่างเช่นตัวต่อที่ตามมาจะเรียกร้องให้ทำการพิมพ์ Crossword เวอร์ชัน ASCII ตามอินพุตและเอาต์พุตของตัวต่อนี้
'\n'
c ในทุกแพลตฟอร์ม สมมติฐานคือไฟล์อินพุตถูกสร้างขึ้นบนระบบเดียวกันกับที่จะประมวลผลดังนั้นปัญหานี้ควรโปร่งใส หมายเหตุทั่วไปเกี่ยวกับ code-golf:หากคุณกำลังทำงานในภาษาแปลก ๆ หรือบนแพลตฟอร์มแปลก ๆ ให้จดบันทึกสิ่งที่อาจทำให้ผู้อ่านประหลาดใจ ผู้คนจะตั้งค่าเผื่อไว้สำหรับการตัดสินการส่งของคุณ