소개
최소 바이트를 사용하여 Hitori 퍼즐 의 솔버를 작성하십시오 .
도전
당신의 작업은 히토리 (일본어로 "독자"라는 단어; 게임 이름의 의미는 "나 혼자 남겨주세요")의 논리 퍼즐에 대한 솔버를 작성하는 것입니다. 규칙은 다음과 같습니다.
- nxn 셀 격자가 표시되며 각 셀은 1과 n 사이의 정수를 포함합니다 (포함).
- 목표는 다음 두 규칙에 표시된 제한에 따라 주어진 그리드에서 숫자를 제거하여 그리드의 각 행과 각 열에 숫자가 두 번 이상 나타나지 않도록하는 것입니다.
- 인접한 두 개의 (수평 또는 수직) 셀에서 두 개의 숫자를 제거 할 수 없습니다.
- 나머지 번호가 매겨진 셀은 모두 서로 연결되어 있어야합니다. 즉, 남아있는 두 개의 번호가 매겨진 셀은 인접한 나머지 숫자 (가로 또는 세로)를 연결하는 세그먼트로만 구성된 곡선으로 연결할 수 있습니다. (이것이 누락되었음을 지적 해 주신 @ user202729에게 감사합니다)
나는 지금까지 규칙이 명확 해지기를 바랍니다. 규칙이 명확하지 않은 경우 Wikipedia 페이지를 확인 하십시오 .
테스트 사례
숫자가 제거 된 셀은 0으로 표시됩니다.
Input -> Output
4
2 2 2 4 0 2 0 4
1 4 2 3 -> 1 4 2 3
2 3 2 1 2 3 0 1
3 4 1 2 3 0 1 2
4
4 2 4 3 0 2 4 3
4 1 1 2 -> 4 1 0 2
3 1 2 1 3 0 2 1
4 3 1 3 0 3 1 0
5
1 5 3 1 2 1 5 3 0 2
5 4 1 3 4 5 0 1 3 4
3 4 3 1 5 -> 3 4 0 1 5
4 4 2 3 3 4 0 2 0 3
2 1 5 4 4 2 1 5 4 0
8
4 8 1 6 3 2 5 7 0 8 0 6 3 2 0 7
3 6 7 2 1 6 5 4 3 6 7 2 1 0 5 4
2 3 4 8 2 8 6 1 0 3 4 0 2 8 6 1
4 1 6 5 7 7 3 5 -> 4 1 0 5 7 0 3 0
7 2 3 1 8 5 1 2 7 0 3 0 8 5 1 2
3 5 6 7 3 1 8 4 0 5 6 7 0 1 8 0
6 4 2 3 5 4 7 8 6 0 2 3 5 4 7 8
8 7 1 4 2 3 5 6 8 7 1 4 0 3 0 6
9
8 6 5 6 8 1 2 2 9 8 0 5 6 0 1 2 0 9
5 6 2 4 1 7 9 8 3 5 6 2 4 1 7 9 8 3
5 8 2 5 9 9 8 2 6 0 8 0 5 0 9 0 2 0
9 5 6 6 4 3 8 4 1 9 5 6 0 4 3 8 0 1
1 1 6 3 9 9 5 6 2 -> 0 1 0 3 9 0 5 6 2
1 1 4 7 3 8 3 8 6 1 0 4 7 0 8 3 0 6
3 7 4 1 2 6 4 5 5 3 7 0 1 2 6 4 5 0
3 3 1 9 8 7 7 4 5 0 3 1 9 8 0 7 4 5
2 9 7 5 3 5 9 1 3 2 9 7 0 3 5 0 1 0
이 테스트 사례는 각각 Concept Is Puzzles , PuzzleBooks , Concept Is Puzzles , Wikipedia 및 Youtube 에서 가져옵니다 .
명세서
예외 처리에 대해 걱정할 필요가 없습니다.
당신은 할 수 입력이 항상있는 유효한 퍼즐이라고 가정 고유의 솔루션 당신은 당신의 코드를 작성하는이 활용할 수 있습니다.
이것은 가장 적은 바이트 수의이기는 code-golf 입니다.
4 <= n <= 9 (16은 원래 Stewie Griffin의 제안에 따라 9로 변경되었으며 IO의 일부 문제도 저장함)
표준 형식을 통해 입력 및 출력을 제공 할 수 있으며 형식을 자유롭게 선택할 수 있습니다.
출력 형식에 대한 몇 가지 제안은 다음과 같습니다 (그러나 이에 국한되지는 않음).
- 최종 그리드 출력
- 제거 된 모든 숫자를 포함하는 그리드 출력
- 위 중 하나의 좌표 목록을 출력합니다.
평소와 같이 기본 허점 이 여기에 적용됩니다.
관련 (이 도전에서 영감을 얻은) : 매트릭스의 모든 요소가 연결되어 있는지 확인하십시오 .
나의 마지막 도전 : Sevens of Game of Sevens
4 <= n <= 16
그러나 가장 큰 테스트 사례는입니다n=9
.n=16
테스트 사례 를 게시 하거나이라고 제안합니다4 <= n <= 9
.