Pagini recente » Diferente pentru problema/indep intre reviziile 5 si 2 | Borderou de evaluare (job #2367820) | Borderou de evaluare (job #2419809) | Cod sursa (job #307971) | Cod sursa (job #1679928)
#include <stdio.h>
void BKT(int poz, int n, int sol[])
{
bool ok; int i,j;
if ( poz == n + 1 )
{
for ( i = 1; i <= n; i++ )
printf("%d ", sol[i]);
printf("\n");
}
for ( i = 1; i <= n; i++ )
{
ok = true;
for ( j = 1; j <= poz; j++ )
if ( sol[j] == i )
{
ok = false;
break;
}
if ( ok )
{
sol[poz] = i;
BKT(poz+1, n, sol);
}
}
}
int main()
{
int n, i, sol[10];
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d", &n);
for ( i = 1; i <= n; i++ )
sol[i] = 0;
BKT(1, n, sol);
}