Pagini recente » Cod sursa (job #671924) | Cod sursa (job #1392368) | Cod sursa (job #41599) | Cod sursa (job #1479738) | Cod sursa (job #573261)
Cod sursa(job #573261)
#include<fstream>
using namespace std;
int n,k,ev,as,s[100];
ofstream fout ("permutari.out");
void init(){
s[k]=0;}
int succesor(){
if(s[k]<n) {s[k]++; return 1;}
else return 0;}
int valid(){
for(int i=1;i<k;i++)
if(s[i]==s[k]) return 0;
return 1;}
int solutie(){
return k==n;}
void tipar(){
for(int i=1;i<=n;i++) fout<<s[i]<<" ";
fout<<"\n";}
void bt(){
k=1;
init();
while(k>0){
as=1;ev=0;
while(as && !ev){
as=succesor();
if(as)
ev=valid();}
if(as)
if(solutie())
tipar();
else{
k++;
init();}
else k--;}}
int main(){
ifstream fin ("permutari.in");
fin>>n;
bt();
fin.close();
fout.close();
return 0;
}