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