Cod sursa(job #385092)

Utilizator Felcherfelcher andreea Felcher Data 22 ianuarie 2010 08:04:02
Problema A+B Scor 0
Compilator cpp Status done
Runda lucrare_xi_d Marime 0.48 kb
#include<iostream.h>
int i,n,x[20],k;
void tipar(int k){
	int i;
	for(i=1;i<=k;i++)
		cout<<x[i]<<" ";
	cout<<endl;
}
int cont(int k){
	int i;
	for(i=1;i<k;i++)
		if(x[k]==x[i])
			return 0;
	for(i=4;i<=k;i++)
		if((x[i]<x[i-2])||(x[i]<x[i-3])) return 0;
	return 1;
}
void back(){
	int k=1;
	x[k]=0;
	while(k>0)
		if(x[k]<n){
			x[k]++;
			if(cont(k))
				if(k==n)
					tipar(k);
			else x[++k]=0;
		}
		else k--;
}
int main(){
	cin>>n;
	back();
	return 0;
}