图片
เมื่อเร็ว ๆ นี้ฉันได้เล่นเกมไขปริศนาดิจิทัลที่เรียกว่า "การวาดภาพลอจิก" เมื่อดูเผินๆ มันแค่วาดตารางตามแถวและแถวของตัวเลข แต่จริงๆ แล้ว มันซ่อนระบบข้อจำกัดทางตัวเลขที่มีประสิทธิภาพไว้ ในฐานะผู้เล่นกลยุทธ์ระดับฮาร์ดคอร์ ฉันแยกส่วนตรรกะที่ซ่อนอยู่โดยตรง และพบว่าตราบใดที่ฉันเชี่ยวชาญกฎตัวเลขสองสามข้อ ความเร็วในการไขปริศนาก็สามารถเพิ่มเป็นสองเท่าได้
เรามาพูดถึงโครงสร้างตัวเลขหลักกันก่อน: ตัวเลขในแต่ละแถวและคอลัมน์แสดงถึงความยาวของตารางสีดำต่อเนื่องกัน และเรียงลำดับจากซ้ายไปขวาหรือบนลงล่าง สมมติว่าความกว้างของตารางคือ N และตัวเลขในแถวคือ [a1, a2, ..., ak] ดังนั้นจำนวนเซลล์ทั้งหมดที่ถูกครอบครองโดยตัวเลขเหล่านี้คือ a1+a2+...+ak และต้องมีช่องว่างอย่างน้อย 1 ช่องระหว่างตัวเลข (รวม k-1) ดังนั้นความยาวที่ต้องการทั้งหมด = ผลรวม + (k-1) ถ้าค่านี้มากกว่า N หมายความว่าไม่สามารถสร้างชุดตัวเลขปัจจุบันได้และตัดออกโดยตรง ในทางตรงกันข้าม หากผลรวม + (k-1) = N ก็จะมีช่องว่างระหว่างตัวเลขได้เพียง 1 ช่องเท่านั้น และกริดทั้งหมดจะถูกบังคับให้กำหนด ซึ่งเป็นสถานะ "เติมเต็ม"
ขั้นตอนแรกของกลยุทธ์ที่เหมาะสมที่สุด: สแกนแถวหรือคอลัมน์ที่มีผลรวม + (k-1) = N ก่อน จากนั้นคุณสามารถเติมกริดที่เกี่ยวข้องทั้งหมดได้โดยตรงและกำหนดช่วงเวลาว่าง ซึ่งสามารถสร้างเซลล์ที่ระบุหลายเซลล์ได้อย่างรวดเร็ว และจัดให้มีจุดยึดสำหรับการใช้เหตุผลข้าม
ขั้นตอนที่สองคือการใช้ "วิธีซ้อนทับ" เมื่อค่าของตัวเลขจำนวนหนึ่งมีขนาดใหญ่ เช่น ความยาวบรรทัดคือ 10 และตัวเลขคือ [7] ดังนั้นตำแหน่งเริ่มต้นที่เป็นไปได้ของ 7 ตารางต่อเนื่องกันคือ 1 ถึง 4 (เนื่องจากจุดสิ้นสุดต้องไม่เกิน 10) ในบรรดากริดทั้ง 7 เส้น ตำแหน่ง 4 ถึง 7 (นั่นคือ จุดสิ้นสุดของตำแหน่งเริ่มต้น 1 และจุดเริ่มต้นของตำแหน่งเริ่มต้น 4 ที่ทับซ้อนกัน) จะถูกทาสีไม่ว่าจะอย่างไรก็ตาม วิธีการคำนวณคือ: ช่วงตำแหน่งเริ่มต้น = [1, N - a + 1], ช่วงเวลาที่ทับซ้อนกัน = [สูงสุด (1, เริ่มต้นขั้นต่ำ + a - 1), นาที (N, เริ่มต้นสูงสุด + a - 1)] สิ่งสำคัญคือต้องวาดช่วงและหาจุดตัด การวาดตารางประเภทนี้ที่ต้องทาสีก่อนจะเทียบเท่ากับการล็อคปมสำคัญ
ขั้นตอนที่สามคือการลบตัวเลข เมื่อกำหนดแถวหรือคอลัมน์ได้เพียงบางส่วนแล้ว คุณสามารถอัปเดตจำนวนเซลล์ที่ยังไม่ได้แก้ไขที่เหลืออยู่ และคำนวณพื้นที่รวมของตัวเลขที่เหลือได้อีกครั้ง ตัวอย่างเช่น หากบรรทัดมีเส้นสีดำอยู่แล้ว 1 เส้นและตัวเลขคือ [2,1] พื้นที่ที่เหลือจะต้องถูกจัดสรรใหม่ และสามารถอนุมานตำแหน่งที่ดำคล้ำที่เหลือได้โดยตรง
หลังจากการทดสอบจริง ตามขั้นตอนการคำนวณเชิงตัวเลขนี้ ความเร็วในการไขปริศนาขนาด 20x20 โดยเฉลี่ยจะลดลงได้มากกว่า 40% ซึ่งเหมาะอย่างยิ่งสำหรับระดับที่มี "กองตัวเลข" หนาแน่น อย่างไรก็ตาม ศิลปะพิกเซลที่สร้างขึ้นจากรูปภาพที่ซ่อนอยู่ในเกมนั้นงดงามมาก ฉันยังตัดภาพที่วาดออกแล้วใช้เป็นรูปประจำตัว ซึ่งเป็นโบนัสที่ไม่คาดคิด 😂