พิจารณากริดปริศนาอักษรไขว้มาตรฐาน 15 × 15 ต่อไปนี้
เราสามารถแสดงสิ่งนี้ในรูปแบบ ASCII โดยใช้#
สำหรับบล็อกและ(ช่องว่าง) สำหรับสี่เหลี่ยมสีขาว
# #
# #
#
# #
### ## ##
## #
# #
# ##
## ## ###
# #
#
# #
# #
ให้กริดไขว้ในรูปแบบศิลปะ ASCII ด้านบนกำหนดจำนวนคำ (ตารางด้านบนมี 78 คำเกิดขึ้นเป็นปริศนานิวยอร์กไทม์สของวันจันทร์ )
คำคือกลุ่มของช่องว่างที่ต่อเนื่องกันสองช่องขึ้นไปที่ทำงานในแนวตั้งหรือแนวนอน คำเริ่มต้นและสิ้นสุดด้วยทั้งบล็อกหรือขอบของตารางและมักจะวิ่งจากบนลงล่างหรือจากซ้ายไปขวาไม่เคยทแยงมุมหรือย้อนหลัง โปรดทราบว่าคำต่างๆสามารถขยายความกว้างทั้งหมดของตัวต่อปริศนาได้เช่นเดียวกับในแถวที่หกของตัวต่อด้านบน คำไม่จำเป็นต้องเชื่อมต่อกับคำอื่น
รายละเอียด
- ข้อมูลที่ป้อนจะเป็นรูปสี่เหลี่ยมผืนผ้าที่มีอักขระ
#
หรือ(ช่องว่าง) โดยมีแถวคั่นด้วยบรรทัดใหม่ (
\n
) คุณสามารถสันนิษฐานได้ว่าตารางที่ทำจาก 2 ใด ๆ ที่แตกต่างกันASCII พิมพ์ตัวอักษรแทนและ#
- คุณอาจคิดว่ามีบรรทัดใหม่ต่อท้ายที่เป็นตัวเลือก การนับจำนวนอักขระต่อท้าย DO จะมีผลต่อจำนวนคำ
- ตารางจะไม่สมมาตรเสมอไปและอาจเป็นช่องว่างหรือบล็อกทั้งหมด
- โปรแกรมของคุณในทางทฤษฎีควรสามารถทำงานบนกริดได้ทุกขนาด แต่สำหรับความท้าทายนี้มันจะไม่ใหญ่กว่า 21 × 21
- คุณอาจใช้กริดเป็นอินพุตหรือชื่อไฟล์ที่มีกริด
- รับอินพุตจาก stdin หรืออาร์กิวเมนต์บรรทัดรับคำสั่งและเอาต์พุตไปยัง stdout
- หากคุณต้องการคุณอาจใช้ฟังก์ชั่นที่มีชื่อแทนโปรแกรมโดยใช้กริดเป็นอาร์กิวเมนต์สตริงและส่งออกจำนวนเต็มหรือสตริงผ่าน stdout หรือฟังก์ชันส่งคืน
กรณีทดสอบ
การป้อนข้อมูล:
# # #
เอาท์พุท:
7
(มีช่องว่างสี่ช่องก่อนละ#
ช่องผลลัพธ์จะเหมือนกันถ้าลบหมายเลขแต่ละเครื่องหมาย แต่มาร์คดาวน์จะเว้นช่องว่างจากบรรทัดว่างอื่น ๆ )การป้อนข้อมูล:
## # ##
ผลลัพธ์:
0
(คำตัวอักษรหนึ่งตัวไม่นับ)การป้อนข้อมูล:
###### # # #### # ## # # ## # #### #
เอาท์พุท:
4
อินพุต: (ตัวต่อปริศนาSunday NY Timesของวันที่ 10 พฤษภาคม)
# ## # # # # # # # ### ## # # ## # # # ## # ## # ## # # ### ## # ## ## # ## ### # # ## # ## # ## # # # ## # # ## ### # # # # # # # ## #
เอาท์พุท:
140
เกณฑ์การให้คะแนน
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ Tiebreaker เป็นโพสต์ที่เก่าแก่ที่สุด