Pagini recente » Cod sursa (job #356933) | Cod sursa (job #1832244) | Cod sursa (job #2100612) | Cod sursa (job #2254534) | Cod sursa (job #145863)
Cod sursa(job #145863)
#include<stdio.h>
int st[120],n,i;
int m[100];
int valid(int k)
{
int i;
for (i=1;i<k;i++)
if (st[k]==st[i]) return 0;
return 1;
}
void solutie()
{
int i;
for (i=1;i<=n;i++)
printf("%d ",st[i]);
printf("\n");
}
void backtraking()
{
int up,k;
k=1;
st[k]=0;
while (k>0)
{
up=0;
while((!up)&&(st[k]<n))
{
st[k]++;
if (valid(k)) up=1;
}
if (up)
if (k==n) solutie() ;
else
{ k++;
st[k]=0;
}
else k--;
}
}
int main()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++) m[i]=i;
backtraking();
}