今日のプリムでは、1つの習慣として、hamantaschen(単数形:hamantasch)と呼ばれるフィリング付きの三角形のクッキーを配ります。別の習慣は、大量に飲むことです。
私は最も完璧なパン屋ではありません。...配る不規則なサイズのハマンタッシェンはたくさんありますし、配る友達もたくさんいます!クッキーの写真を送った場合、どのサイズと詰め物をいくつ持っているか教えてもらえますか?しかし、それはPurimであり、私はあまりにも多くのコードを読むにはあまりにも酔っているので、できる限り小さいコードである必要があります。
定義
サイズ
ハマンタッシュのサイズは任意です。最小のハマンタッシュはサイズ1で、次のようになります。
/\ --
-- \/
時には、複数のハマンタッシェンが重なることがあります。以下の形状は、2つのハマンタッシェンとしてカウントされます(1サイズ1、1サイズ2):
/\
/\ \
----
一部のハマンタッシェンには詰め物があります。これは、内部のすべての空白を文字で埋めることによって示されます。サイズ1のhamantaschenには詰め物がないことに注意してください。
私たちはします名前充填およびサイズに基づいてhamantaschenを。この形式<filling> <size>
を使用して、埋められていない場合- <size>
は、の代わりにスペースを使用できます-
が、マークダウンはそれを好みません。
以下がa . 2
、a . 4
、およびa - 3
です。
/\
/./\
---- /./ \
\../ /./ \
\/ --------
これらは、a @ 3
、a、. 2
およびa - 4
です。
/\
/ /\
/\ / /@@\
/..\ / /@@@@\
---- --------
これはもっと難しいことです。& 2
オーバーラップからの傾斜のために、予想よりも充填量が少ない方法を参照してください- 3
?それはあり- 1
、& 2
A - 3
と& 4
:
--------
\ \/&/
\ /\/
\/&/
\/
入力
テキストファイルまたは単一の文字列のhamantaschenが与えられます(オプションの末尾の改行とオプションで偶数になるように末尾の空白を埋め込みます)。
制限
- 文字列が有効であると期待できます。つまり、空白文字以外のすべての文字が、おいしい甘いハマンタッシュに貢献します(なぜ生地を無駄にしますか?)。
- また、それができることを期待することができ、適切に満たされたかどうか-つまり、それは完全に一致ASCII文字で埋められます各ハマンタッシェン-未充填のためのASCII 32、または何か32..127を満たした(除くために
/
、\
と-
)。 - これらのハマンタッシェンは3空間に積み重ねられていません。すべて
/
と\
表示されます。すべて-
によってブロックされない/
と\
表示されます。充填は非常に最後です - すべてのハマンタッシェンには、水平線の少なくとも半分(切り上げ)が表示されます。
- 連続した充填ブロックは、それを囲む最小のハマンタッシュのみを充填します。
出力
上記の条件を満たすすべてのhamantaschenの「名前」のリストを返します。出力は、任意の形式(文字列、ハッシュ、標準出力など)にすることができます。
テストケース
テストケース#1
入力#1:
/\
/ /\
/\ / /@@\
/..\ / /@@@@\
---- --------
/\
/**\
/*/\*\
/*/..\*\
--------
出力#1:
. 2
. 2
- 4
@ 3
* 4
テストケース#2
入力#2:
/\----
/\/\*\/
/ /\d\/
------
出力#2:
- 3
- 2
d 2
- 1
* 2
- 1
テスト#3
入力#3:
----
\/\/
/\/\ /\
---- /::\
----
出力#3:
- 1
- 1
- 2
- 1
- 1
- 2
: 2
テスト#4
入力#4:
/\/\
/ /\$\
-/--/\\
--/--\
/xxx/\
/xxx/##\
---/----\
/ \
--------
出力#4:
$ 2
x 4
- 3
- 2
- 4
- 1
- 1
# 2
無効なテストケース#5
入力:
/\
\/
出力:
これを処理する必要はありません。
/
して\
、そして-
トランプ充填常にます。
(1,0)
はによってオフになり+1
ます。それでも、私はあなたの意味を知っています、そして、私は同意しません。2つのアッパーの右上と左だけでなく(2, 2)
、aの上部中央にどのような表示がありますか?私が見ることができるものはありません。そして、同じロジックがに適用されます。あなたは、可能な最大hamantaschenを前提とするルールを追加する場合を除き...- 2
- 1
(3, 2)