Pagini recente » Cod sursa (job #2679353) | Cod sursa (job #1892733) | Cod sursa (job #3196495) | Cod sursa (job #2558044) | Cod sursa (job #291732)
Cod sursa(job #291732)
#include<fstream.h>
ifstream f("permutari.in");
ofstream g("permutari.out");
typedef int stiva[100];
stiva st;
int n,k,ok,da;
void init(){st[k]=0;}
int succesor(){
if(st[k]<n){st[k]++; return 1;}
else return 0;
}
int valid(){
for(int i=1; i<k; i++)
if(st[i]==st[k])return 0;
return 1;
}
int solutie(){return k==n;}
void write(){
for(int i=1; i<=n; i++)
g<<st[i]<<" ";
g<<'\n';
}
void back(){
k=1;
init();
while(k>0) {da=1; ok=0;
while(da&&!ok){
da=succesor();
if(da)ok=valid();
}
if(da)
if(solutie())write();
else{ k++; init();}
else k--;}
}
int main (){
f>>n;
back();
f.close();
g.close();
return 0;
}