นี่คือรหัสกอล์ฟ สำหรับความท้าทายนี้ฉันจะยอมรับวิธีการ (คุณไม่จำเป็นต้องใช้โปรแกรมเต็มรูปแบบ) แต่ลายเซ็นวิธีจะนับรวมกับจำนวนไบต์และฉันต้องการดูลายเซ็นแบบเต็ม (ไม่ใช่ lamdba) อินพุตสำหรับวิธีการนี้เป็นอาร์เรย์จำนวนเต็มที่มีองค์ประกอบ 81 รายการ ค่าเอาต์พุต / ส่งคืนจากเมธอดคือสตริงที่แทนอาร์เรย์เป็นบอร์ด ascii sudoku
หากคุณใช้ภาษาลึกลับหรือบางสิ่งบางอย่างที่ไม่มีวิธีการอย่างใดอย่างหนึ่งคุณสามารถปรับเปลี่ยนได้ แต่ถ้าภาษานั้นสนับสนุนสิ่งนี้ฉันต้องการเห็นบางสิ่งบางอย่างอาจจะเสียบเข้ากับโปรแกรมที่ "ไม่เป็นจริง" แม้ว่า วิธีร่างกายตัวเองเป็นความเจ็บปวดในการทำงานกับ ความต้องการไม่ได้หมายถึงการปิดกั้นภาษาเช่น Jelly หรือ 05AB1E แต่เพื่อให้ง่ายขึ้นสำหรับภาษาเช่น Java เพื่อสร้างสิ่งที่สมเหตุสมผลสำหรับแพลตฟอร์มนั้น
สำหรับอินพุตค่าจำนวนเต็ม 1-9 ควรมีความหมายที่ชัดเจน 0 ควรตีความเป็นเซลล์ว่างเสมอ คุณอาจตีความสิ่งอื่นนอกเหนือจากช่วง 1-9 เป็นเซลล์ว่าง แต่ไม่จำเป็น การจัดตำแหน่งจากอาร์เรย์ไปยังตัวต่อปริศนาจะเริ่มต้นที่ด้านบนซ้ายและเติมแต่ละแถวจากซ้ายไปขวาก่อนที่จะย้ายไปยังแถวถัดไป
สำหรับกล่องฉันต้องการเส้นคู่รอบนอกและระหว่างแต่ละพื้นที่ 3x3 และบรรทัดเดียวระหว่างเซลล์อื่น สิ่งเหล่านี้ควรวาดด้วยอักขระวาดเส้น (หากรูปแบบ I / O ของคุณแทนสตริงเป็นลำดับของไบต์แทนที่จะเป็นลำดับอักขระคุณควรแสดงอักขระเหล่านั้นในการเข้ารหัสที่รู้จักกันดีเช่น UTF-8 หรือ codepage 347)
สำหรับความท้าทายนี้ฉันไม่ได้ขอให้คุณสร้างตัวต่อซูโดกุ นั่นคืออินพุตสำหรับฟังก์ชัน ฉันไม่ได้ขอให้คุณแก้ปริศนา ฉันแค่ขอให้คุณสร้างสตริงเพื่อ "วาด" สิ่งที่คุณได้รับ (ในไม่กี่ไบต์เท่าที่จะทำได้)
อินพุตตัวอย่าง:
ค่าสำหรับอาร์เรย์:
{ 8, 5, 0, 0, 0, 2, 4, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0, 9, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 2, 3, 0, 5, 0, 0, 0, 9, 0, 0 ,0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 7, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 0, 4, 0}
ค่าสามารถใช้กลไกใดก็ได้ที่เป็นธรรมชาติสำหรับภาษาของคุณ: int [], ArrayList, ลำดับ, tuple, สตริงของตัวเลข, อะไรก็ได้ตราบใดที่คุณมีค่าในอินพุตสำหรับทุกเซลล์ (ไม่มีแผนที่สำหรับเซลล์ที่มีประชากรเท่านั้นไปยังตำแหน่ง ) โปรดจำไว้ว่าการป้อนข้อมูลจะให้ ... มันไม่ได้เป็นส่วนหนึ่งของการนับไบต์ของคุณ แต่การป้อนข้อมูลที่อาจเป็นตัวแทนใด ๆปริศนาซูโดกุและปริศนาอาจไม่ได้มีวิธีการแก้ปัญหาที่ถูกต้อง คุณต้องสมมุติว่าตัวต่อนั้นสามารถพิมพ์ได้ คุณจะไม่ได้อะไรกับองค์ประกอบ 82 อย่าง
คุณจะได้รับแบบอักษรที่มีความกว้างคงที่ที่เหมาะสม
เอาท์พุทที่สอดคล้องกัน:
╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗ ║ 8 │ 5 │║││ 2 ║ 4 ││║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ 7 │ 2 │║││║││║ 9 ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ │││ 4 ║││║││║ ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣ ║││║ 1 ││ 7 ║││ 2 ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ 3 ││ 5 ║││║ 9 ││║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ││ 4 │║││║││║ ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣ ║││║│ 8 │║│ 7 │║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ││ 1 │ 7 ║││║│││ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║││║│ 3 │ 6 ║│ 4 │║ ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝