뛰어난 지뢰 찾기


13

Hexcells는 Minesweeper를 기반 으로 한 육각형 게임입니다 . (전체 공개 : 저는 Hexcells와 관련이 없습니다. 실제로는 게임을 좋아하지 않습니다.) 대부분의 Hexcells 규칙은 Generalized Minesweeper (Minesweeper는 임의의 그래프에서 재생 됨)로 쉽게 표현할 수 있습니다. 가장 어려운 것은 {X}and -X-규칙입니다.

{X}규칙은 세포가 X광산과 접해 있고이 모든 광산들이 연속적인 경로로 서로 접해 있다고 말합니다 . 예를 들어 보드가 있다면 :

  ?   ?

?  {3}  ?

  ?   ?

광산 배치의 6 가지 가능성은

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

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

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

목표는 {3}일반화 된 지뢰 찾기 에서 규칙을 구현하는 것 입니다.

사양

일반화 된 지뢰 찾기는 임의의 그래프에서 재생되는 지뢰 찾기입니다. 그래프에는 "지표"또는 "값"의 두 가지 유형의 정점이 있습니다. 값은 켜거나 끌 수 있지만 (광산 또는 멍청한) 상태는 플레이어에게 알려지지 않습니다. 표시기는 플레이어에게 몇 개의 인접 정점이 켜져 있는지 (광산) 알려주며 광산 자체로 계산하지 않습니다.

예를 들어 Generalized Minesweeper의 다음 보드는 셀 A와 B가 모두 광산이거나 둘 다 광산이 아니라고 말합니다.

간단한 게임

(다이어그램에서 표시기는 회색으로 표시되고 값은 흰색으로 표시됩니다)

지표를 표시하기 위해 해제 된 값을 클릭하는 일반 지뢰 찾기와 달리 일반화 된 지뢰 찾기에는 이러한 기법이 없습니다. 플레이어는 단순히 그래프의 어떤 상태가 그 지표를 만족시킬 수 있는지 결정합니다.

목표는 Generalized Minesweeper에서 구조가 Hexcells 규칙과 연결된 것처럼 만 충족되는 상태 만 가질 수있는 6 개의 특정 셀이 있도록하는 것 {3}입니다. 솔루션을 작성할 때 가치 셀에 대한 특정 값을 염두에 두어서는 안됩니다. (H.PWiz의 질문에 대한 답변으로 일부 값 셀은 주에서 추론 할 수 있지만 그러한 셀을 제거하여 항상 점수를 향상시킬 수 있습니다)

채점

답은 최종 그래프의 정점 수에서 6을 뺀 값 (6 개의 입력)으로 점수가 매겨지며 점수가 낮을수록 좋습니다. 두 메트릭이이 메트릭에 연결되면 타이 브레이커는 에지 수입니다.

해결 가능성

이 문제는 해결할 수 있으며이 문제에 대한 해결책이 있으며이 문제가 일주일이 지나면 게시하겠습니다.


따라서 항상 6 개의 입력 정점 사이에 6 개의 모서리가 있어야합니까?
Bergi

가치 셀 사이의 @Bergi 에지는 의미가 없으므로 중복되지 않습니다
H.PWiz

@ H.PWiz 그러나 " {3}규칙"은 "이 모든 광산들은 연속적인 경로로 서로 경계를 이룹니다 "라고 말하지 않고 가장자리가 없습니다.
Bergi

@Bergi 그러나 과제는 " Hexcells 규칙과 연결된 것처럼 작동하는"6 개의 셀과 같은 그래프를 만드는 것 {3}입니다. 그들은 연결할 필요가 없습니다
H.PWiz

1
@Pavel Generalized minesweeper는 내가 염려하는 한 프로그래밍 언어입니다. 매우 난해 할 수 있지만 proof-golf와 너무 멀리 떨어져 있다고 생각하지 않습니다 .
Ad Hoc Garf Hunter

답변:


15

7 5 개의 정점, 14 10 개의 모서리

( 이 온라인 도구 와 페인트 로 만든 그래프 )

A- F우리의 여섯 개 노드이며, J도우미 노드입니다. 세 1-nodes는 반면 그 반대의 노드가, 다른 집행 2- 노드가 있는지 확인합니다 A, C그리고 E어느 쪽도 모든 광산도 모두 비어있을 수 없습니다.

편집 : CalculatorFeline 및 H.PWiz 덕분에 -2 정점!


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

당신이 당신의 솔루션에서 ABC 검사 장치를 제거하면 거의 작동, 그것은 또한 수 있습니다 것을 제외 ACE하고 BDF. 그 중 광산 수 ACE는 0 또는 3이지만 유효한 솔루션의 경우 1 또는 2입니다. 이렇게하면 5 점을 얻을 수 있습니다.
CalculatorFeline

@CalculatorFeline 맞습니다. 그리고 그것은 Laikoni의 답에서 2를 뺀 것입니다. 지금 봅니다. 이것은 텍스트로 전달하기가 확실히 어렵습니다
H.PWiz

@CalculatorFeline 제출의 주요 아이디어가 포함되어 있지 않으므로 게시하지 않습니다. Laikoni가 것 같아요
H.PWiz

3

정점 44 개, 모서리 66 개

먼저, 우리는 모두 6에 연결된 6 개의 값 셀 고리로 시작합니다.이 셀은 {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는 출력입니다. ? 셀은 일반 값 셀입니다. A와 B 중 정확히 하나가 광산이면 O가 광산이되고 그렇지 않으면 비어 있습니다. 그런 다음 2 개의 노드를 모든 센서 출력에 연결합니다. 이를 통해 정확히 1 개의 광산을 가진 2 개의 쌍이 존재하게되며이를 만족하는 유일한 구성 만 만족하는 것으로 입증 될 수 있습니다 {3}. 각 센서에는 7 개의 노드가 필요하므로 6 개의 센서에는 42가 필요합니다. ABCDEF에 연결된 3 개의 노드와 출력에 연결된 2 개의 노드를 추가하면 44가됩니다.

이 용액은 또한 적응 될 수있다 {1}- {5}다른 값으로 3 노드를 변화시킴으로써.


012센서 의 출력은 무엇입니까 ? 또한, 나는 만 6 개 노드를 계산012
H.PWiz

2 노드, 2 1 노드, 3? 노드와 C (ABCDEF 노드 중 하나가 아니라 센서의 출력)
CalculatorFeline

2
@CalculatorFeline있어 그것은 아마 이름 변경 CO있기 때문에, C 이다ABCDEF
H.PWiz

재미있는 사실 :이 솔루션은 평면입니다.
CalculatorFeline
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.