//Print all arrangements of 1 to 9.
#include <stdio.h>
int main()
{
void arrange(int*, int);
int a[10];
a[0]=0;
arrange(a, 1);
return 1;
}
void arrange(int* a, int sub)
{
int norep(int*i, int);
void print(int*);
int i;
for(i=1;i<=9;i++)
{
a[sub]=i;
if(sub==1)
arrange(a, sub+1);
else
{
if(norep(a, sub))
{
if(sub==9) print(a);
else arrange(a,sub+1);
}
}
}
}
int norep(int* a, int sub)
{
int i;
for(i=1;i<sub;i++)
if(a[i]==a[sub])
{
return 0;
}
return 1;
}
void print(int* a)
{
int i;
for(i=1;i<=9;i++)
printf("%d\t", a[i]);
printf("\n");
}