Cod sursa(job #2607331)

Utilizator Gliumarin negai Gliu Data 29 aprilie 2020 16:57:03
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("permutari.in");
ofstream out("permutari.out");
int n,k,st[10];
bool v,ac;
void suc(){
	if(st[k]<n){
		st[k]++;
		ac=1;
	}else ac=0;
}
void valid(){
	v=1;
	for(int i=1;i<k;i++)
		if(st[i]==st[k]) v=0;	
}
void back(){
	k=1;
	st[k]=0;
	while(k>0){
		do{
			suc();
			if(ac) valid();
		}while(ac && !v);
		if(ac){
			if(k==n){
				for(int i=1;i<=n;i++){
					out <<st[i]<<" ";
				}
				out <<"\n";
				}else{
					k++;
					st[k]=0;
				}
		}else k--;
	}
}


int main(){
in >>n;
back();
return 0;
}