Фон
Атомна бомба вибухнула біля заводу огорожі! Оскільки огорожі є важливими для виживання нашої цивілізації, ми повинні врятувати їх якомога більше. Ми направляємо радіостійких роботів для пошуку району, і ваше завдання запрограмувати їх штучне бачення.
Вхідні дані
Ваш вхід - це прямокутна сітка символів |-#
, що представляє два види деталей огорожі та щебеню, подані у вигляді рядка з обмеженою лінією. Огорожі були жахливо пошкоджені вибухом, а деякі навіть злилися спекою. Визначить кандидат fencepost бути або горизонтальним шаблон , який починається і закінчується в |
і мають один або кілька -
сек між ними (наприклад , |-|
чи , |---|
але не ||
), або вертикальним малюнком , який починається і закінчується в -
і мають один або кілька |
сек між ними ( по суті горизонтальний кандидат-огорожа повернувся на 90 градусів). Фактичний fencepost є кандидатом fencepost , який не поділяє який - або з його частин з іншого кандидата fencepost.
Вихідні дані
Ваш вихід - це кількість фактичних огороджень у вхідній сітці.
Приклад
Розглянемо вхідну сітку
|#|-|#|##
#||--|||#
###|#|--#
###-||--|
-#-|#-|#-
#---#-#-|
#-#-|#--|
У цій сітці є 5 кандидатів огорож, але лише 2 з них - це фактичні забори (показані жирним шрифтом). Таким чином, правильний вихід 2
.
Правила
Ви можете написати або повну програму, або функцію. Виграє найменший байт, а стандартні лазівки заборонені.
Додаткові тестові випадки
Вхід:
##--
||##
-#|-
|#|#
Вихід: 0
(0 кандидатських огорож)
Вхід:
-##|-##--
#|#-|#||-
--|-#|#||
##||||-##
||#|--|-|
-#|-#--|#
|####|#-#
Вихід: 0
(5 кандидатських огорож)
Вхід:
#|--|---|-|#
####|##--||-
-|-##||#|---
-#|#-|-#-|||
#|-##--###|-
---#-||-#-##
#|---|###|-#
-|---#-#|#|#
|#--|####-|-
Вихід: 4
(8 кандидатських огорож)
Вхід:
-|-||---##|#
---|######-#
####-##|#--|
|||##|#-||||
####-#-||-#|
---#--|#-#--
-|#-####-##-
#||-|-|-###|
|-##||-||-#-
Вихід: 5
(7 кандидатських огорож)
Вхід:
|#-|#|#-###|#-#
----#####|#----
|#--#-##-#|##-|
|#-|#-|--##||--
||#-#---##|||##
#|#-|||-#-#--||
--#|-||#|--|#|#
-#-|###||-#--#|
-#||-|#-##||##|
|--|-|||-##|-#|
Вихід: 4
(9 кандидатських огорож)
Вхід:
||-|-|-##-#-#-|#--#-
-##|-#|-#-##-|#|--|-
||#---###||-|#|##|-#
#||-#-#-|---|#||#|##
-#-###-##-|-#-|-#||#
##-#--#||-----||-|##
-|--#-#-#|---#-#|#-#
###|-|#-#|-|###|#-|#
#||#-#|--|-||#------
||##|-||#-|--#|#-#-#
|#-|-#-|-|--##-#|||#
-|#--#||##---##|-##-
#|-|-|-||-||#-#-|##-
|-#|##|-|#|#|--||#--
Вихід: 9
(30 кандидатських огорож)
[[-,|,-],[#,#,-],[-,-,|]]
?
|--...--|
шаблоні маклерів? Це означає, що горизонтальні огорожі повинні мати не менше 5 дефісів? Мене трохи бентежить позначення.