Pesci mangioni

Sto provando a risolvere ‘pesci mangioni’ ma sto trovando più difficoltà del previsto:)

La mia idea: ordino i pesci per dimensione e prendo i primi più grandi che vanno nella stessa direzione
Risultato: fa bene il solo primo subtask e quasi tutto il secondo.
Altra idea: per ogni coppia di pesci adiacenti e vivi che vanno in direzioni opposte elimino quello più piccolo, itero finché ce ne bisogno (questa e sicuramente meno efficiente)
Risultato: stesso di prima

Cosa mi sfugge?

Per la prima idea, prova a pensare al caso in cui i pesci che si muovono nella stessa direzione sono in posizioni limite, ad esempio se il pesce più grande che sta andando verso dx è quello che è anche più a destra di tutti, non mangerà nessuno, quindi potranno esserci altri pesci che sopravvivono, e non necessariamente il più grande.

Per la seconda idea, come fai a rimuovere i pesci che vengono mangiati? Usi un vector? L’ideale per questo problema sono le list :D http://www.cplusplus.com/reference/list/list/
1 Mi Piace

Avevo interpretato male la traccia, ora ho risolto(con uno stack). Grazie mille :wink: