Cod sursa(job #2152409)
| Utilizator | Data | 5 martie 2018 15:19:37 | |
|---|---|---|---|
| Problema | Combinari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <cstdio>
using namespace std;
int mark[20],sol[20],nr,n,k;
void bkt(int n,int k,int crt)
{
int i;
nr++;
sol[nr]=crt;
mark[crt]=1;
if(nr-1==k)
{
for(i=2;i<=nr;i++)
printf("%d ",sol[i]);
printf("\n");
}
else
{
for(i=crt+1;i<=n;i++)
if(!mark[i])
bkt(n,k,i);
}
nr--;
mark[crt]=0;
}
int main()
{
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d%d",&n,&k);
bkt(n,k,0);
return 0;
}
