sfondo
Una bomba atomica è esplosa vicino alla fabbrica di recinti! Poiché i recinti sono essenziali per la sopravvivenza della nostra civiltà, dobbiamo salvarne il maggior numero possibile. Stiamo inviando robot resistenti alle radiazioni per perquisire l'area ed è tuo compito programmare la loro visione artificiale.
Ingresso
Il tuo input è una griglia rettangolare dei caratteri |-#
, che rappresenta due tipi di parti di recinzione e macerie, dati come una stringa delimitata da una nuova riga. I recinti sono stati orribilmente mutilati dall'esplosione e alcuni sono stati persino fusi insieme dal calore. Definiamo un fencepost candidato per essere o un modello orizzontale che inizia e termina |
e ha una o più -
s tra di loro (come |-|
o |---|
no ||
), o un modello verticale che inizia e finisce in -
e ha una o più |
s tra di loro (essenzialmente un recinto candidato orizzontale ruotato di 90 gradi). Un vero fencepost è un fencepost candidato che non condivide nessuna delle sue parti con un altro fencepost candidato.
Produzione
L'output è il numero di parametri effettivi nella griglia di input.
Esempio
Considera la griglia di input
|#|-|#|##
#||--|||#
###|#|--#
###-||--|
-#-|#-|#-
#---#-#-|
#-#-|#--|
Ci sono 5 parametri di recinzione candidati in questa griglia, ma solo 2 di essi sono parametri di recinzione effettivi (indicati in grassetto). Quindi l'output corretto è 2
.
Regole
È possibile scrivere un programma completo o una funzione. Vince il conteggio di byte più basso e non sono consentite scappatoie standard.
Casi di prova aggiuntivi
Ingresso:
##--
||##
-#|-
|#|#
Risultato: 0
(0 candidati candidati)
Ingresso:
-##|-##--
#|#-|#||-
--|-#|#||
##||||-##
||#|--|-|
-#|-#--|#
|####|#-#
Risultato: 0
(5 candidati candidati)
Ingresso:
#|--|---|-|#
####|##--||-
-|-##||#|---
-#|#-|-#-|||
#|-##--###|-
---#-||-#-##
#|---|###|-#
-|---#-#|#|#
|#--|####-|-
Risultato: 4
(8 candidati candidati)
Ingresso:
-|-||---##|#
---|######-#
####-##|#--|
|||##|#-||||
####-#-||-#|
---#--|#-#--
-|#-####-##-
#||-|-|-###|
|-##||-||-#-
Risultato: 5
(7 candidati candidati)
Ingresso:
|#-|#|#-###|#-#
----#####|#----
|#--#-##-#|##-|
|#-|#-|--##||--
||#-#---##|||##
#|#-|||-#-#--||
--#|-||#|--|#|#
-#-|###||-#--#|
-#||-|#-##||##|
|--|-|||-##|-#|
Risultato: 4
(9 candidati candidati)
Ingresso:
||-|-|-##-#-#-|#--#-
-##|-#|-#-##-|#|--|-
||#---###||-|#|##|-#
#||-#-#-|---|#||#|##
-#-###-##-|-#-|-#||#
##-#--#||-----||-|##
-|--#-#-#|---#-#|#-#
###|-|#-#|-|###|#-|#
#||#-#|--|-||#------
||##|-||#-|--#|#-#-#
|#-|-#-|-|--##-#|||#
-|#--#||##---##|-##-
#|-|-|-||-||#-#-|##-
|-#|##|-|#|#|--||#--
Risultato: 9
(30 candidati candidati)
[[-,|,-],[#,#,-],[-,-,|]]
?
|--...--|
caratteri jolly del modello? Ciò significa che le recinzioni orizzontali devono avere almeno 5 trattini? Sono un po 'confuso dalla notazione.