Soluzione Cubetti

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