バックグラウンド
フェンスポスト工場の近くで原子爆弾が爆発しました!フェンスポストは私たちの文明の存続に不可欠であるため、できるだけ多くを救出する必要があります。放射線耐性のあるロボットを派遣して地域を探索していますが、彼らの人工視覚をプログラムするのはあなたの仕事です。
入力
入力は、|-#
改行区切りの文字列として指定された2種類のフェンスポストパーツと瓦bleを表す、文字の長方形のグリッドです。フェンスの支柱は爆発によって恐ろしく損なわれ、一部は熱によって融合しました。候補のフェンスポストを、開始と終了で|
1つ以上-
のsがある(|-|
または|---|
そうでない||
)水平パターン、または開始と終了で-
1つ以上|
のs がある垂直パターン(基本的に)のいずれかに定義します90度回転した水平候補フェンスポスト)。実際fencepostは別の候補fencepostとその部分のいずれかを共有しない候補fencepostあります。
出力
出力は、入力グリッド内の実際のフェンスポストの数です。
例
入力グリッドを検討する
|#|-|#|##
#||--|||#
###|#|--#
###-||--|
-#-|#-|#-
#---#-#-|
#-#-|#--|
このグリッドには5つの候補フェンスポストがありますが、実際のフェンスポストは2つだけです(太字で表示)。したがって、正しい出力は2
です。
ルール
完全なプログラムまたは関数のいずれかを作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。
追加のテストケース
入力:
##--
||##
-#|-
|#|#
出力:0
(0候補フェンスポスト)
入力:
-##|-##--
#|#-|#||-
--|-#|#||
##||||-##
||#|--|-|
-#|-#--|#
|####|#-#
出力:0
(5つの候補フェンスポスト)
入力:
#|--|---|-|#
####|##--||-
-|-##||#|---
-#|#-|-#-|||
#|-##--###|-
---#-||-#-##
#|---|###|-#
-|---#-#|#|#
|#--|####-|-
出力:4
(8つの候補フェンスポスト)
入力:
-|-||---##|#
---|######-#
####-##|#--|
|||##|#-||||
####-#-||-#|
---#--|#-#--
-|#-####-##-
#||-|-|-###|
|-##||-||-#-
出力:5
(7つの候補フェンスポスト)
入力:
|#-|#|#-###|#-#
----#####|#----
|#--#-##-#|##-|
|#-|#-|--##||--
||#-#---##|||##
#|#-|||-#-#--||
--#|-||#|--|#|#
-#-|###||-#--#|
-#||-|#-##||##|
|--|-|||-##|-#|
出力:4
(9つの候補フェンスポスト)
入力:
||-|-|-##-#-#-|#--#-
-##|-#|-#-##-|#|--|-
||#---###||-|#|##|-#
#||-#-#-|---|#||#|##
-#-###-##-|-#-|-#||#
##-#--#||-----||-|##
-|--#-#-#|---#-#|#-#
###|-|#-#|-|###|#-|#
#||#-#|--|-||#------
||##|-||#-|--#|#-#-#
|#-|-#-|-|--##-#|||#
-|#--#||##---##|-##-
#|-|-|-||-||#-#-|##-
|-#|##|-|#|#|--||#--
出力:9
(30の候補フェンスポスト)
[[-,|,-],[#,#,-],[-,-,|]]
?
|--...--|
パターンのピリオドはワイルドカードですか?つまり、水平フェンスには少なくとも5つのハイフンが必要ですか?表記法に少し混乱しています。