Pagini recente » Cod sursa (job #38027) | Cod sursa (job #893986) | Cod sursa (job #296753) | Cod sursa (job #577774) | Cod sursa (job #230062)
Cod sursa(job #230062)
#include <cstdio>
int n,k;
int st[9];
using namespace std;
int valid(int k){
if (st[k]>n) return 0;
if (st[k]<=n)
for (int i=1;i<=k-1;i++){
if (st[i]==st[k])
return 0;}
return 1;
}
void print_it(){
for(int i = 1; i <= n; ++i)
printf("%d ",st[i]);
printf("\n");
}
int main(){
freopen("permutari.in","rt",stdin);
freopen("permutari.out","wt",stdout);
scanf("%d",&n);
k=1;
st[k]=1;
while (k){
if (valid(k)){
if (k==n) {print_it();
st[k]++;
}
else {
k++;
st[k]=1;}
} else{
if (st[k]<n) {st[k]++;}
else {
st[k]=0;
k--;
st[k]++;}
}
}
}