Cod sursa(job #385096)
| Utilizator | Data | 22 ianuarie 2010 08:06:35 | |
|---|---|---|---|
| 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;
}