/************************************************************
** @file c.cpp
** @author
** @date Thu Sep 8 22:22:07 2011
** @brief c++全排列
**
**
**@version Copyright (c) 2011,河南理工大学-信管08-三班.
**************************************************************/
#include<iostream>
#include<cstring>
using namespace std;
int a[8];
bool ok(int k){
for(int i=1;i<k;++i)
if(a[i]==a[k])return false;
return true;
}
void print(int n){
for(int i=1;i<=n;++i)
cout<<a[i]<<" ";
cout<<endl;
}
void solve(int n){
int k=1;
a[1]=0;
while(k>0){
a[k]++;
while(a[k]<=n && !ok(k))a[k]++;
if(a[k]<=n){
if(k==n)print(n);
else {k++;a[k]=0;}
}
else {a[k]=0;k--;}
}
}
int main(int argc, char **argv)
{
solve(6);
return 0;
}