Sunday, August 14, 2005

ปัญหาเกม Puzzle 16 ช่อง 15 ตัว

เนื่องจากว่า เคยได้ยินน้อง ๆ CP 30 พูดกันเกี่ยวกับปัญหาเนี้ย ผนวกกับว่า blog นี้เพิ่งเกิด เจ้าของเลยอยากหาอะไรมาใส่เล่น วันนี้ก็เลย เอาเรื่องของของเล่นสุดคลาสสิกชิ้นนี้มาฝาก

คาดว่าหลาย ๆ คนคงรู้จักกับของเล่นอันนี้นะครับ


ช่องเขียว ๆ คือช่องว่าง ผู้เล่นสามารถสลับช่องเขียวกับเลขที่อยู่ติดกับมันได้ (เฉพาะใน 4 ทิศทางคือ บน ล่าง ซ้าย ขวา นะ ติดแบบมุมชนกันไม่นับ)

ปัญหาเกิดจากว่า ถ้ามีคนมาเลื่อนมั่ว ๆ แล้วเราจะทำให้มันกลับมาเป็นแบบรูปแรกนี้ได้ยังไง?

เรามาเริ่มจากปัญหาที่เล็ก ๆ ก่อนดีกว่าเนอะ ลองดูซิว่า ถ้ามีแค่ 6 อัน


แล้วเราสนใจแค่ว่า จะทำยังไงให้ 1 กับ 2 อยู่ในที่ที่ต้องการ (หลังจากโดนสลับมั่วไปแล้ว)


จะทำยังไง?

จริง ๆ แล้ว ถ้าแค่เลื่อน 1 ไปให้ถูกที่มันก็ไม่ยากหรอก แล้วจะเอา 2 เข้าไปด้วยได้ไงหละ? เอาเป็นว่า เราทำให้ 1 กับ 2 อยู่ติดกันก่อนละกัน แล้วค่อยคิดต่อ ... นี่ไง ติดกันแล้ว แต่มันยังไม่ได้อ่า


อาวหละ คราวนี้ถึงเวลาคิดละ ทำตามนี้เลย ทุกท่าน! (ลูกศรแสดงทิศทางของช่องว่างนะ)



เห็นมั้ยว่า เราใช้ที่ในการขยับแค่ 6 ช่องก็เอา 1 กับ 2 ไปไว้ในที่ที่ต้องการได้ หยั่งงี้แล้ว 16 ช่องมันจะยากอะไร (ดูรูปข้างล่างนี้จากซ้ายไปขวา แล้วก็บนลงล่างนะ สีเทาคือส่วนที่เราจะไม่ไปยุ่งกับมันอีกแล้ว สีเหลืองคือช่องที่เราต้องการเอาเข้าที่ และสีฟ้าคือบริเวณที่ใช้ในการเอาสีเหลืองไปเข้าที่)


ส่วนช่องที่เหลือตอนสุดท้ายเนี่ย ขยับหมุนนิด ๆ หน่อย ๆ ก็เสร็จแล้ว ชัวร์! (พิสูจน์ได้ด้วยหละ แต่ขอไม่เขียนไว้ตรงนี้ละกัน)

6 Comments:

At 8/15/2005 2:10 PM, Anonymous Anonymous said...

มาแนวอัลกอริทึมหรอ......

 
At 8/18/2005 11:53 AM, Anonymous Anonymous said...

อันนี้น่าสนใจคับ

 
At 10/11/2005 10:42 AM, Anonymous Anonymous said...

บรรเจิด ชอบว่ะ วันหลังมา prove อย่างอื่นที่มัน classicๆ อีกดิ เอาอย่าง pacman tetris space invader (จะมีวิธีเหรอวะเนี่ย)

 
At 10/12/2005 3:52 PM, Blogger Tunococ said...

คิดไรได้ก็ช่วยเสนอหน่อยดิ จะได้มีเรื่องเขียน :D

 
At 12/14/2006 11:44 PM, Anonymous Anonymous said...

ชอบจังเลยพี่ ผมก็เล่นอยู่พักนึง เข้าใจว่า วนวงเล็กแล้วค่อยวนวงใหญ่ แต่ที่สรุปมานี่เจ๋งมั๊กๆ เข้าใจแจ่มแจ้งเลย ^^
คิดถึงพี่นะ ไม่ได้เจอนานมาก

 
At 9/25/2017 5:51 PM, Blogger VasinChullabodhi said...

ชอบครับ

 

Post a Comment

<< Home