การกวาดทุ่นระเบิด Hexcellent


13

Hexcells เป็นเกมที่ใช้Minesweeperเล่นกับรูปหกเหลี่ยม (การเปิดเผยอย่างเต็มรูปแบบ: ฉันไม่มีส่วนเกี่ยวข้องกับ Hexcells จริงๆแล้วฉันไม่ชอบเกม) กฎของ Hexcells ส่วนใหญ่สามารถแสดงได้อย่างง่ายดายใน Generalines Minesweeper (Minesweeper เล่นบนกราฟโดยพลการ) สิ่งที่ยากที่สุดคือกฎ{X}และ-X-

{X}กฎบอกเราว่ามือถือที่มีพรมแดนติดกับXเหมืองแร่และว่าทั้งหมดของการทำเหมืองแร่เหล่านี้ชายแดนแต่ละอื่น ๆ ในเส้นทางต่อเนื่อง ตัวอย่างเช่นถ้าเรามีกระดาน:

  ?   ?

?  {3}  ?

  ?   ?

ความเป็นไปได้ 6 ประการสำหรับการวางตำแหน่งเหมืองคือ

  *   .       .   .       .   .       .   *       *   *       *   *

*  {3}  .   *  {3}  .   .  {3}  *   .  {3}  *   .  {3}  *   *  {3}  .

  *   .       *   *       *   *       .   *       .   .       .   .

เป้าหมายของคุณคือการใช้กฎ{3}ใน Minesweeper ทั่วไป

ข้อมูลจำเพาะ

Minesweeper ทั่วไปคือ Minesweeper ที่เล่นบนกราฟโดยพลการ กราฟมีจุดสุดยอดสองประเภทคือ "ตัวบ่งชี้" หรือ "ค่า" ค่าสามารถเป็นได้ทั้งเปิดหรือปิด (ทุ่นระเบิดหรือทึม) อย่างไรก็ตามสถานะของมันไม่เป็นที่รู้จักของผู้เล่น ตัวบ่งชี้บอกผู้เล่นว่ามีจุดยอดติดกันกี่จุด (เหมือง) และไม่นับว่าเป็นของฉัน

ตัวอย่างเช่นบอร์ดต่อไปนี้สำหรับเรือกวาดทุ่นระเบิด Generalized บอกเราว่าเซลล์ A และ B เป็นได้ทั้งเหมืองหรือไม่เป็นเหมือง

เกมง่ายๆ

(ในไดอะแกรมตัวบ่งชี้ถูกทำเครื่องหมายเป็นสีเทาในขณะที่ค่าเป็นสีขาว)

ซึ่งแตกต่างจากเรือกวาดทุ่นระเบิดทั่วไปที่คุณคลิกค่าที่ปิดเพื่อแสดงตัวบ่งชี้ไม่มีช่างดังกล่าวในเรือกวาดทุ่นระเบิดทั่วไป ผู้เล่นเพียงแค่กำหนดว่ารัฐของกราฟสามารถตอบสนองตัวบ่งชี้

เป้าหมายของคุณคือการสร้างโครงสร้างทั่วไปเรือกวาดทุ่นระเบิดดังกล่าวว่ามี 6 {3}เซลล์ที่เฉพาะเจาะจงที่สามารถมีรัฐที่ตอบสนองราวกับว่าพวกเขาเชื่อมต่อกับกฎ เมื่อคุณเขียนวิธีการแก้ปัญหาของคุณคุณไม่ควรมีค่าเฉพาะในใจสำหรับเซลล์ค่า (ในการตอบคำถามของ H.PWiz จะอนุญาตให้เซลล์ค่าบางค่าอาจถูกลดหย่อนจากสถานะ แต่คุณสามารถปรับปรุงคะแนนของคุณได้โดยการเอาเซลล์ดังกล่าวออก)

เกณฑ์การให้คะแนน

คำตอบของคุณจะได้รับคะแนนตามจำนวนของจุดยอดในกราฟสุดท้ายลบ 6 (สำหรับ 6 อินพุต) โดยมีคะแนนต่ำกว่าจะดีกว่า หากคำตอบสองคำเสมอกันในเมตริกนี้ตัวแบ่งไทเบรกจะเป็นจำนวนขอบ

solvability

ปัญหานี้แก้ไขได้ฉันมีวิธีแก้ไขปัญหานี้และฉันจะโพสต์เมื่อความท้าทายนี้มีอายุหนึ่งสัปดาห์


ดังนั้นจำเป็นต้องมี 6 ขอบระหว่างจุดป้อนข้อมูล 6 จุดเสมอหรือไม่
Bergi

@Bergi ขอบระหว่างเซลล์ค่าซ้ำซ้อนเนื่องจากไม่มีความหมาย
H.PWiz

@ H.PWiz แต่ " {3}กฎ" บอกว่า " เหมืองเหล่านี้ทั้งหมดชายแดนกันในเส้นทางต่อเนื่อง " - ไม่มีขอบไม่มีเส้นทาง
Bergi

@Bergi แต่งานคือการสร้างกราฟเช่น 6 เซลล์ที่ทำหน้าที่ " ราวกับว่าพวกเขาเชื่อมต่อกับกฎ Hexcells {3}" พวกเขาไม่จำเป็นต้องเชื่อมต่อ
H.PWiz

1
@Pavel Generalized สวีปเปอร์เป็นภาษาโปรแกรมเท่าที่ฉันกังวล มันอาจจะเป็นความลับมาก แต่ผมไม่คิดว่ามันอยู่ไกลเกินไปจากหลักฐานกอล์ฟ
Ad Hoc Garf Hunter

คำตอบ:


15

7 5 จุดยอด, 14 10 ขอบ

(กราฟทำด้วยเครื่องมือและสีออนไลน์นี้ )

A- FคือหกโหนดของเราและJเป็นโหนดตัวช่วย สาม1-nodes บังคับว่าโหนดตรงข้ามที่แตกต่างกันในขณะที่2-node ทำให้แน่ใจว่าA, CและEไม่สามารถเหมืองทั้งหมดหรือว่างเปล่าทั้งหมด

แก้ไข: -2 vertices ต้องขอบคุณ CalculatorFeline และ H.PWiz!


1
คุณสามารถลบ 2 จุดยอด
CalculatorFeline

โปรดทราบว่าโครงสร้าง 2-J ยังช่วยให้มั่นใจว่า ACE ไม่ว่างเปล่าทั้งหมด
CalculatorFeline

3

9 จุดยอด, 17 ขอบ

ที่ไหน เป็นเซลล์ค่าที่ไม่ได้เป็นหนึ่งในที่6เราสนใจเราต้องการกราฟย่อยต่อไปนี้

    ___________
?  /    ?      \?
 \|    /|\     /
  3¯¯¯¯ 1 ¯¯¯¯2
  |\    |    /|
  | \ /¯|¯¯¯¯ |
  |  X  |     |
 /  / \_|___  \
A__/    B   \__C

ทักษะศิลปะ ASCII ของฉันน่ากลัว

กับผู้ที่ 6 จุดตั้งค่า: ABCจะมีรัฐต่อไปนี้: 111, 110, 011, 000, 100,001

กับเซลล์ที่สอดคล้องกับรูปหกเหลี่ยมต่อไปนี้ทั้งหมดแล้วเราก็ต้องมี 3 ตัวบ่งชี้เซลล์A-1-D, B-1-E,C-1-F

  B  C
A      D
  F  E

มันจะมีขนาดเล็กมากขึ้นหากคุณตรวจสอบแทนA,C,E A,B,C
CalculatorFeline

@CalculatorFeline ฉันมองไม่เห็นว่าทำไม ...
H.PWiz

ถ้าคุณเอาอุปกรณ์การตรวจสอบเบื้องต้นจากการแก้ปัญหาของคุณมันเกือบจะทำงานได้ยกเว้นว่ามันยังช่วยให้และACE BDFในนั้นจำนวนของเหมืองACEเป็น 0 หรือ 3 แต่ในวิธีแก้ปัญหาที่ถูกต้องคือ 1 หรือ 2 ซึ่งจะช่วยให้คุณได้คะแนน 5
CalculatorFeline

@CalculatorFeline ใช่แล้วนั่นจะเป็นคำตอบของ Laikoni ลบ 2 ฉันเห็นแล้วตอนนี้ นี่เป็นเรื่องยากที่จะถ่ายทอดด้วยข้อความ
H.PWiz

@CalculatorFeline เนื่องจากไม่มีแนวคิดหลักในการส่งของฉันฉันจะไม่โพสต์ ฉันคิดว่า Laikoni ประสงค์
H.PWiz

3

44 จุดยอด, 66 ขอบ

อันดับแรกเราเริ่มต้นด้วยวงแหวนที่มีค่า 6 เซลล์เชื่อมต่อกับ 3 เซลล์เหล่านี้จะเป็นเซลล์ที่มี{3}กฎ

  A   B
   \ /
F---3---C
   / \
  E   D

จากนั้นเราจะแนบเซ็นเซอร์ 012 กับคู่ของค่า (AB, BC, CD, DE, EF, FA) โครงสร้างของเซ็นเซอร์ 012 อยู่ด้านล่าง

O   ?---1---?
 \ /       /
  2---?---1
 / \
A   B

A และ B เป็นอินพุตของเซ็นเซอร์และ O คือเอาต์พุต การ เซลล์เป็นเซลล์ค่าทั่วไป O จะเป็นของฉันถ้าหนึ่งใน A และ B เป็นของฉันและว่างเปล่าเป็นอย่างอื่น จากนั้นเราเชื่อมต่อ 2 โหนดกับเอาท์พุทเซ็นเซอร์ทั้งหมด เพื่อให้แน่ใจว่ามีตรง 2 คู่ตรงกับ 1 {3}เหมืองและมันสามารถพิสูจน์ได้ว่าการกำหนดค่าเดียวที่ตอบสนองนี้จะเป็นคนที่พึงพอใจ เซ็นเซอร์แต่ละตัวใช้เวลา 7 โหนดดังนั้นเซ็นเซอร์ 6 ตัวต้องการ 42 เพิ่ม 3 โหนดเชื่อมต่อกับ ABCDEF และ 2 โหนดเชื่อมต่อกับเอาท์พุทและคุณจะได้รับ 44

วิธีการแก้ปัญหานี้ยังสามารถปรับให้เหมาะสม{1}- {5}โดยการเปลี่ยน 3 โหนดเป็นค่าอื่น


เอาต์พุตสำหรับ012เซ็นเซอร์แต่ละตัวมีอะไรบ้าง นอกจากนี้ฉันนับได้เพียง 6 โหนดในของคุณ012
H.PWiz

มี 2 ​​โหนด, 2 1 โหนด, 3? nodes และ C (ซึ่งไม่ใช่โหนด ABCDEF เพียงเอาต์พุตของเซ็นเซอร์)
CalculatorFeline

2
@CalculatorFeline เข้าใจแล้วอาจเปลี่ยนชื่อCเป็นOเนื่องจากC อยู่ในABCDEF
H.PWiz

ความจริงแล้วสนุก: วิธีนี้คือภาพถ่าย
CalculatorFeline
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.