Cod sursa(job #154003)
Utilizator | nespecificat Snavenport | Data | 10 martie 2008 21:06:44 |
---|---|---|---|
Problema | Combinari | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.73 kb |
#include <fstream.h>
int n,k,sol[19];
ifstream f("combinari.in");
ofstream g("combinari.out");
void citire()
{
f>>n>>k;
}
int ok(int c)
{
int i;
for (i=1;i<c;i++)
if(sol[c]==sol[i])
return 0;
for (i=1;i<c;i++)
if (sol[i]>sol[i+1])
return 0;
return 1;
}
void afisare()
{
int i;
for (i=1;i<=k;i++)
g<<sol[i]<<" ";
g<<"\n";
}
void comb(int c)
{
int i;
for (i=1;i<=n;i++)
{
sol[c]=i;
if (ok(c))
if (c==k)
afisare();
else
comb(c+1);
}
}
int main()
{
citire();
comb(1);
return 0;
}