特定の数のマッチを追加、削除、または移動して新しい数または形を作成することを含む、マッチに関する多くのパズルがあります。これはデジタル時計のようなものです。
12時間のデジタル時計の有効な時間を考慮して、最も少ない行を移動する必要がある数字を出力して、時計上のすべての可視数字がその数字になるようにします。2桁以上の場合は、すべて出力してください。すべての桁を同じにすることが不可能である場合、出力-1
または0以外の偽の値(これらの多くが得られます)。
時計の数字は次のようになります。
|
|
_
_|
|_
_
_|
_|
|_|
|
_
|_
_|
_
|_
|_|
_
|
|
_
|_|
|_|
_
|_|
_|
_
| |
|_|
テストケース:
入力: 123
時計表示:
_ _
| : _| _|
| : |_ _|
出力: 4
説明:の表示で1:23
は、合計12本の線を引く必要があります。したがって、すべての桁が同じになるには、各桁に4行が必要です。4行ある唯一の数字は4
です。したがって、答えはでなければなりません4
。
入力: 1212
時計表示:
_ _
| _| : | _|
| |_ : | |_
出力: -1
説明:の表示に12:12
は14行が必要です。14を4で割った値は整数ではないため、すべての桁を同じにすることは不可能です。
入力: 654
時計表示:
_ _
|_ : |_ |_|
|_| : _| |
出力: 5
説明:行の総数は15です。15を3で割ると5になるため、各桁には5行が必要です。5つのラインを持っている唯一の数字であり2
、3
と5
。答えは5
、すべての数字を5にするために2回の移動しか必要ないためです。6の左下の線を4の最下部に移動するだけで、次のようになります。
_ _
|_ : |_ |_|
_| : _| _|
次に、ご覧のとおり、元々4だった数字の右上の行を上に移動するだけで、が得られ5:55
ます。すべての数字aを作るために、2
または3
2つの以上の移動が必要となります。
入力: 609
時計表示:
_ _ _
|_ : | | |_|
|_| : |_| _|
出力:609
(6,0,9
または[6,0,9]
もOK)。
説明:6
、0
、および9
6つのラインを持っている唯一の数字です。そのため、これらは唯一の可能な解決策でもあります。これらのいずれかを唯一の数字にするために2つの動きが必要であることを理解するのは難しくありません。したがって、3桁すべてを出力します。
ノート:
- 入力時間は有効である必要がありますが、出力時間は有効ではありません(たとえば
999
、出力には問題がないため)。 - 私は入力に関して非常に柔軟です。先頭に0を付けることができます。小数点付きの数値を使用できます。文字列を使用できます。配列を使用できます。すべての桁にパラメータを設定できます。