Nella terminologia alpinistica, un "14er" è qualsiasi montagna con un'altezza di 14000 piedi o più. Tuttavia, c'è un'altra distinzione. Affinché un picco sia considerato un 14er, deve anche avere una "prominenza geografica" di 300 o più piedi. Ciò significa che per spostarsi da un 14er all'altro, devi prima scendere almeno 300 piedi prima di risalire. Prendi questo esempio. La linea 1 conta come 14.000 piedi e ogni linea conta come 100 piedi.
/\__/\
/ \
/ \
Ora, entrambi questi picchi hanno abbastanza elevazione per contare, ma non c'è abbastanza calo tra loro per contare come due picchi separati. Pertanto, uno di questi conta come un 14er e l'altro è solo un "picco parziale". Ecco un esempio in cui i due picchi contano come due 14er separati:
/\ /\
/ \ / \
/ \/ \
/ \
Può esserci anche un picco parziale sul declino tra due 14er. Ecco una versione leggermente modificata dell'ultima catena montuosa:
/\ /\
/ \/\ / \
/ \/ \
/ \
Questa catena montuosa conta anche come due 14er.
È necessario scrivere un programma o una funzione che accetta una rappresentazione ASCII-arte di una catena montuosa e restituire quanti 14er sono nella gamma. Puoi ricevere input in qualsiasi formato più conveniente per te, che si tratti di una matrice di caratteri 2D, una stringa con newline o una stringa con qualche altro delimitatore. Puoi presumere che tutti gli input conterranno solo i caratteri /\_e che la lunghezza di ogni riga sarà la stessa (inclusi gli spazi finali). Puoi anche supporre che la catena montuosa inizi nell'angolo in basso a sinistra con a /o a _.
Se l'ultima sezione di una montagna non si trova sulla linea di fondo, puoi supporre che la montagna diminuisca solo dopo, ad es
/
/
/
Conta come un singolo 14er.
Non è necessario gestire catene montuose non valide.
Ecco alcuni esempi di I / O:
/\___/\_
/ \ /\
/ \ / \
_/\/ \/ \
/ \
/ \
/ \_
2
/\ /\
/\ / \ /
/\ / \ / \/
/ \ / \ /
/ \/ \/
4
/\
_/\__/ \
/ \
1
/\
/ \ /\
/ \_/ \
/ \
/ \
/ \
/ \
1
/\
/\_/\ / \_
/ \ / \ /\
/ \/ \ /
/ \_/
/
3
_conta 100 piedi più in basso di una barra sulla stessa linea. Almeno questo è ciò che suggerisce il tuo ultimo test case.
/ / / _ \ \ \ ? Inoltre, suppongo che il punto più alto nell'input debba sempre essere considerato come un picco ma questo non è esplicitamente specificato; si potrebbe iniziare con un picco più basso e finire con un conteggio diverso.