Resulta que tengo que hacer un sudoku y esta es la función que marca la restricción de cajas, pero no entiendo el funcionamiento, alguien me lo puede explicar?
int restriccion_de_caja(int matriu[N][N], int f, int c){
int df,dc,co,fi,ff,cf;
df=f/3;
dc=c/3;
fi=df*3;
co=dc*3;
ff=fi+2;
cf=co+2;
for(fi=df*3; fi<=ff; fi++){
for(co=dc*3; co<=cf; co++){
if((!(c==co && f==fi)) && matriu[f][c]==matriu[fi][co]){
return 0;
}
}
}
return 1;
}