Cod sursa(job #218988)
Utilizator | Ciupan Andrei andyciup | Data | 4 noiembrie 2008 17:42:13 |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include<stdio.h>
int sol[20]={0}, p, n;
int valid(int k){
return sol[k]>sol[k-1];
}
void afiseaza(){
for(int i=1; i<=p; ++i)
printf("%d ", sol[i]);
printf("\n");
}
void back(int k){
if(k==p+1){
afiseaza();
return;
}
for(int i=1; i<=n; ++i){
sol[k]=i;
if(valid(k))
back(k+1);
}
}
int main(){
freopen("combinari.in", "r", stdin);
freopen("combinari.out", "w", stdout);
scanf("%d", &n);
scanf("%d", &p);
back(1);
return 0;
}