Cod sursa(job #803991)
Utilizator | Data | 28 octombrie 2012 17:54:52 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include<cstdio>
int a[20],b[20];
void back(int s,int n,int k)
{
int i;
if(s==k+1) {for(i=1;i<=k;i++) printf("%d ",a[i]); printf("\n");}
else for(i=1;i<=n;i++)
if(!b[i]&&i>a[s-1])
{
a[s]=i;
b[i]=1;
back(s+1,n,k);
b[i]=0;
}
}
int main()
{
int n,k;
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d%d",&n,&k);
back(1,n,k);
return 0;
}