Cod sursa(job #206027)
Utilizator | Pavel Razvan PavelRazvan | Data | 4 septembrie 2008 11:35:19 |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.66 kb |
#include <stdio.h>
int n,p,sol[101];
int check (int i,int k)
{
int j;
for (j=1; j<k; ++j)
if (sol[j]>=i)
return 0;
return 1;
}
void print ()
{
int i;
for (i=1; i<=p; ++i)
printf ("%d ",sol[i]);
printf ("\n");
}
void back (int k)
{
int i;
if (k==p+1)
print ();
else
for (i=1; i<=n; ++i)
if (check (i,k))
{
sol[k]=i;
back (k+1);
}
}
int main ()
{
freopen ("combinari.in","r",stdin);
freopen ("combinari.out","w",stdout);
scanf ("%d%d",&n,&p);
back (1);
return 0;
}