Ciao a tutti, sono nuovo. Da qualche giorno sto provando a risolvere cubetti ma senza successo. In locale mi risolve il caso d’esempio (non mi da la stessa soluzione ma ho letto che ce ne possono essere più di una) e altri casi che creo io… Poi però quando invio il sorgente ricevo sempre 0 punti:
void Diversifica(int N, int colore[]) {//check è un array globale, in poche parole setto tutti i colori usati a “1” e al tempo stesso se un colore è già stato usato lo salvo nel vector perchè sarà da ricolorare.
for(int i=0; i<N; i++){ if(check[C[i]-1]==1){ indice.push_back(i); } check[C[i]-1]=1; } int conta=0;
// ora controllo i colori non usati, ovvero se check[i] è rimasto 0, il suo indice i+1 sara un colore non usato. Quindi stampo UN elemento del vector (cubetto da ricolorare) e l’indice corrente, ovvero UN colore non usato
for(int i=0; i<N; i++){ if(check[i]==0){ cout << indice[conta] << " "<< i+1 <<endl; conta++; } }
}
Questo è quello che avevo in mente… Il problema è che non funziona per niente. Il ragionamento può essere giusto? ho sbagliato scriverlo o sbaglio completamente approccio?
Risolto, non stampavo l’output xD