배경
Tatamibari 는 Nikoli가 디자인 한 논리 퍼즐입니다.
Tatamibari 퍼즐은 심볼의 세 가지 다른 종류의 사각형 격자에서 재생된다 +
, -
. 그리고 |
. 솔버는 다음 규칙에 따라 그리드를 사각형 또는 사각형 영역으로 분할해야합니다.
- 모든 파티션에는 정확히 하나의 기호가 포함되어야합니다.
+
기호 사각형에 포함되어야합니다.|
심볼 폭보다 큰 높이를 가진 직사각형 내에 포함되어야한다.-
심볼 높이보다 더 큰 폭을 갖는 직사각형 내에 포함되어야한다.- 네 조각은 같은 구석을 공유하지 않을 수 있습니다. (일반적으로 일본식 다다미 타일이 배치되는 방식입니다.)
다음은 솔루션이 포함 된 예시 퍼즐입니다.
직무
주어진 다다미 바리 퍼즐을 해결하십시오.
입출력
입력은 주어진 다다미 바리 퍼즐을 나타내는 2D 그리드입니다. 각 셀은 4 개 문자 중 하나를 포함 +
, -
, |
, 당신의 선택의 문자는 비 단서 셀을 나타냅니다. 테스트 사례에서는 별표 *
가 사용됩니다.
Tatamibari 퍼즐에 대한 유효한 솔루션을 모호하지 않게 표현할 수있는 적절한 출력 형식을 선택할 수 있습니다. 여기에는 다음이 포함되지만 이에 국한되지 않습니다. (의심스러운 경우 의견을 요청하십시오.)
- 각 튜플에 사각형의 상단 인덱스, 왼쪽 인덱스, 너비 및 높이가 포함 된 4 개의 튜플 목록 (또는 동등한 표현)
- 입력과 같은 모양의 숫자 그리드. 각 숫자는 사각형을 나타냅니다.
- 각 세트가 사각형으로 셀의 모든 좌표를 포함하는 좌표 세트 목록
퍼즐에 여러 개의 솔루션이있는 경우 유효한 솔루션을 여러 개 (하나 이상) 출력 할 수 있습니다. 입력 값에는 하나 이상의 솔루션이 보장됩니다.
테스트 사례
Puzzle:
|-*
*+|
*-*
Solution:
122
134
554
=====
Puzzle:
+***
**|*
*+**
***-
Solution:
1122
1122
3322
3344
======
Puzzle:
|*+*+
*****
****-
***+|
+****
Solution:
12233
12233
44444
55667
55667
=======
Puzzle:
****-**
**-**|*
*|*****
****-**
*******
**+*|**
*****+*
One possible solution:
1122222
1133344
1155544
1155544
6667744
6667788
6667788
===========
Puzzle:
*-****|+**
+*-******|
****+*****
*-******||
**++|*****
+****-|***
-****-**+*
********-*
|*+*+|****
*-*--**+*+
Solution:
1111122334
5666622334
7777822994
7777A2299B
CCDEA2299B
CCFFFFGGHH
IIIIJJGGHH
KLLMMNGGOO
KLLMMNGGPP
QQRRSSSTPP
규칙
표준 코드 골프 규칙이 적용됩니다. 바이트 단위의 가장 짧은 코드가 이깁니다.