Pagini recente » Cod sursa (job #3361128) | Cod sursa (job #3360111) | Monitorul de evaluare | Cod sursa (job #3360112) | Cod sursa (job #3360125)
#include <bits/stdc++.h>
using namespace std;
int n,perm[10];
int nextPerm(){
int i,j,aux;
for(i=n-2;i>=0;i--)
if(perm[i]<perm[i+1]){
for(j=n-1;j>i;j--){
if(perm[j]>perm[i])
break;
}
aux=perm[i];
perm[i]=perm[j];
perm[j]=aux;
reverse(perm+i+1,perm+n);
return 1;
}
return 0;
}
int main(){
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
int i;
cin >> n;
for(i=0;i<n;i++)
perm[i]=i+1;
do{
for(i=0;i<n;i++){
cout << perm[i];
if(i<n-1)
cout << " ";
}
cout << "\n";
}while(nextPerm());
return 0;
}