|
Xiaomei ama giocare con i blocchi. Impilò i blocchi uno a uno in scatole di altezze diverse.“Guarda, ho costruito un muro!”Lo disse alla sorella maggiore Xiaoliang.“Beh, dovresti costruire tutti i blocchi alla stessa altezza. Quindi costruisci un vero muro.”Rispose lei. Dopo averci riflettuto un po', Xiaomei pensò di avere ragione. Poi iniziò a riorganizzare i blocchi, uno dopo l'altro, e finalmente tutti i blocchi erano della stessa altezza. Ma Xiaomei è pigra, vuole spostare solo il numero minimo di blocchi per renderli tutti alti. Puoi aiutarla?
Inserisci una descrizione: L'input contiene molteplici raccolte di dati. La prima riga di ogni insieme di dati è un interon, che rappresenta il numero di colonne dei mattoni di costruzione di Xiaomei. La seconda riga contieneninteri, ciascuno rappresentando l'altezza di ogni colonna di bloccohi, indica che è nella colonnahI blocca. Presunto1≤n≤50,1≤ciao≤100。 Il numero totale di blocchi è divisibile per il numero di colonne. Pertanto, è garantito che ogni colonna sarà impilata alla stessa altezza. L'ingresso termina con 0, e 0 non viene usato come dato di input. Descrizione dell'uscita: Per ogni dataset, stampate il numero di serie del dataset, vedi l'esempio di output. Poi stampi il testo "Il numero minimo di mosse è k.". Qui, k si riferisce al numero minimo di volte necessario per spostare questi blocchi alla stessa altezza. Genera una riga vuota dopo ogni dataset. Esempio di input: 6 5 2 4 1 7 5 0 Campione di output Set #1 Il numero minimo di mosse è 5.
|