Heja! Mam problem i myślę, że mi pomożecie :) Nie potrafię zaimplementować zliczania sumy każdej z permutacji w rekurencję bo omija mi pola (przykładowo dla n=3 to co drugą permutację nie dodaje do sumy 1 pola przez co wychodzą złe wyniki).
Powinienem sprawdzać sumę w trakcie tworzenia każdej z permutacji żeby w razie wypadku gdyby suma przekroczyła wartość poprzedniej zbrejkować, aby zaoszczędzić na czasie. Nie mogę udostępnić kodu ale wygląda to mniej więcej tak:
void funkcja(int a){
for(int b=0;b<n;b++){
if(pole(a,b) nie jest szachowane){
tab[a][b]=true
//tutaj dodaję do sumy wartosc z pola tab_wartosci[a][b]
//sprawdzanie czy suma jest większa od starej sumy jeśli tak to break;
if(a==n-1)
wypisz
//zerowanie sumy
else
funkcja(a+1)
tab[a][b]=false
}
}
}
gdzie powinien dorzucić zliczanie żeby nie omijało mi pól?