Cod sursa(job #1009859)
Utilizator | Data | 13 octombrie 2013 22:10:33 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include <stdio.h>
#define fr(i,a,b) for(int i=a;i<b;++i)
#define N 18
bool pos[N];
int a[N];
int n,k;
void perm(int p,int l){
if(p==k) {
fr(i,0,k){
if(i) printf(" ");
printf("%i",a[i]+1);
}
printf("\n");return;
}
fr(i,l,n){
if(!pos[i]){
a[p]=i;pos[i]=true;
perm(p+1,i);
pos[i]=false;
}
}
}
int main(){
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%i%i",&n,&k);perm(0,0);
}