Pagini recente » Cod sursa (job #1429) | Cod sursa (job #2242366) | Cod sursa (job #1809963) | Cod sursa (job #2278086) | Cod sursa (job #932041)
Cod sursa(job #932041)
#include<iostream>
#include<fstream>
using namespace std;
bool permutation(int v[], int k);
int main(){
int n;
ifstream cinr("permutari.in");
cinr >> n;
int p[n];
for(int i=0; i<n; i++) p[i]=i+1;
ofstream cour("permutari.out");
cinr.close();
for(int i=0; i<n; i++) cour << p[i] << " ";
cour << "\n";
while(permutation(p,n)){
for(int i=0; i<n; i++) cour << p[i] << " ";
cour << "\n";
}
cour.close();
return 0;
}
bool permutation(int v[], int k){
int i=k-2;
if(i<0) return false;
while(v[i]>v[i+1]){
if(i<0) return false;
i--;
}
int j=k-1;
while(v[i]>v[j]) j--;
int c=v[i];
v[i]=v[j];
v[j]=c;
for(int w=i+1, q=k-1; w<q; w++, q--){
c=v[q];
v[q]=v[w];
v[w]=c;
}
return true;
}