Pagini recente » Cod sursa (job #2591692) | Cod sursa (job #2265503) | Cod sursa (job #2317525) | Cod sursa (job #2673354) | Cod sursa (job #1011014)
#include <iostream>
#include <fstream>
using namespace std;
int x[8],k,n;
ifstream fi("permutari.in");
ofstream fo("permutari.out");
void init(int k){
x[k]=0;
}
int succesor(int k){
int as;
if(x[k]<n){as=1;x[k]++;}
else as=0;
return as;
}
int valid(int k){
int ev,i;
ev=1;
for(i=1;i<=k-1;i++)
if(x[k]==x[i]) ev=0;
return ev;
}
int solutie(int k){
if(k==n) return 1;
else return 0;
}
void tipar(){
int i;
for(i=1;i<=n;i++)
fo<<x[i]<<" ";
fo<<endl;
}
void back(int k){
k=1;
init(k);
while(k>0){
int as=1;
int ev=0;
while(as==1&&ev==0){
as=succesor(k);
if(as) ev=valid(k);
}
if(as)
if(solutie(k)) tipar();
else {k++;init(k);}
else k--;}
}
int main(){
fi>>n;
back(n);
return 0;
}