バックグラウンド
タタミバリはニコリが設計した論理パズルです。
:Tatamibariパズルは、その中のシンボルの三つの異なる種類の長方形のグリッド上で再生され+
、-
。と|
。ソルバーは、次の規則に従ってグリッドを長方形または正方形の領域に分割する必要があります。
- すべてのパーティションには、シンボルが1つだけ含まれている必要があります。
+
シンボルは、正方形の中に含まれている必要があります。|
シンボルは、幅よりも大きい高さを有する矩形に含まれなければなりません。-
シンボルは、高さよりも大きな幅を有する長方形に含まれなければなりません。- 4つのピースが同じコーナーを共有することはありません。(これが通常の畳の置き方です。)
以下は、解決策を含むパズルの例です。
仕事
与えられたタタミバリパズルを解きます。
入出力
入力は、指定されたタタミバリパズルを表す2Dグリッドです。各セルは、4つの文字のいずれかが含まれています+
、-
、|
、、お好みのキャラクターは非手掛かり細胞を表現するために。テストケースでは、アスタリスク*
が使用されています。
タタミバリパズルの有効なソリューションを明確に表すことができる適切な出力形式を選択できます。これには以下が含まれますが、これらに限定されません(不明な場合は、コメントで質問してください)。
- 4タプルのリスト。各タプルには、長方形の上部インデックス、左インデックス、幅と高さ(または同等の表現)が含まれます。
- 入力と同じ形状の数値グリッド。各数値は長方形を表します
- 座標セットのリスト。各セットには、長方形内のセルのすべての座標が含まれます
パズルに複数のソリューションがある場合、有効なソリューションをいくつでも(1つ以上)出力できます。入力には少なくとも1つのソリューションがあることが保証されています。
テストケース
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
ルール
標準のコードゴルフ規則が適用されます。バイト単位の最短コードが優先されます。