Cod sursa(job #264126)
| Utilizator | Data | 21 februarie 2009 15:17:36 | |
|---|---|---|---|
| Problema | Combinari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include<stdio.h>
int sol[20],n,m,k;
void tipar(int k)
{for(int i=1;i<=m;i++)
printf("%i ",sol[i]);
printf("\n");
}
int ok(int k,int val)
{for(int j=1;j<=k-1;j++)
if(sol[j]>=val)return 0;
return 1;
}
void back(int k)
{if (k==m+1)tipar(k);
else
for(int val=1;val<=n;val++)
if(ok(k,val))
{
sol[k]=val;
back(k+1);
}
}
int main()
{freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
fscanf(stdin,"%i %i",&n,&m);
back(1);
fclose(stdout);
return 0;
}
