Cod sursa(job #812703)
| Utilizator | Data | 14 noiembrie 2012 11:36:46 | |
|---|---|---|---|
| Problema | Combinari | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <cstdio>
using namespace std;
long n,k;
long st[60];
bool viz[60];
void write () {
for (long i=k;i>=1;i--)
printf ("%ld ",st[i]);
printf ("\n");
}
void back (long l) {
long i;
for (i=st[l-1]+1;i<=n;i++)
if (!viz[i]) {
viz[i]=1;
st[l]=i;
if (l==k)
write ();
else back (l+1);
viz[i]=0;
}
}
int main () {
long i;
freopen ("combinari.in","r",stdin);
freopen ("combinari.out","w",stdout);
scanf ("%ld%ld",&n,&k);
back (1);
return 0;
}