Gioco di eliminazione
Facciamo un gioco. Ci sono
n
persone che pensano a un numero casuale. Loro non conoscono le regole del gioco. Solo tu le conosci. Sai che ad ogni passo del gioco, le persone che hanno scelto un numero con il minor numero di divisori escono dal gioco. Chiedi a tutti i loro numeri e poi devi dire chi lascerà il gioco ad ogni passo. Dovrebbero indovinare la regola del gioco. Ora il tuo compito è scrivere un programma che simuli il gioco e stampi i nomi delle persone che lasceranno il gioco ad ogni passo.La prima linea dell'input contiene un singolo intero
n
, che è il numero di persone che partecipano al gioco. Le successive n
righe contengono i nomi dei partecipanti e il numero che hanno memorizzato. È garantito che i nomi sono unici e i numeri positivi.Il programma deve stampare i nomi delle persone che lasciano il gioco ad ogni fase del gioco.
Ingresso | Uscita |
5
Anna 6
Bob 8
Simon 1
Karen 10
Lucy 100 | Simon
Anna Bob Karen
Lucy |
Spiegazione:
Anna 6 (1, 2, 3, 6) ⇒ 4 divisori
Bob 8 (1, 2, 4, 8) ⇒ 4 divisori
Simon 1 (1) ⇒ 1 divisore
Karen 10 (1, 2, 5, 10) ⇒ 4 divisori
Lucy 100 (1, 2, 4, 5, 10, 20, 25, 50, 100) ⇒ 9 divisori
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB