Mai intai trebuie sa te autentifici.
Cod sursa(job #799886)
Utilizator | Data | 20 octombrie 2012 12:23:30 | |
---|---|---|---|
Problema | Combinari | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.79 kb |
#include<fstream>
using namespace std;
ifstream f("combinari.in");
ofstream g("combinari.out");
int n,m,k,x[20];
void init ()
{
x[k]=0;
}
int succesor ()
{
if ( x[k]<n)
{
x[k]++;
return 1;
}
else
return 0;
}
int valid ()
{
int ev=1,i;
if(k>1)
if(x[k]<x[k-1])
ev=0;
return ev ;
}
int solutie ()
{
if(k==m)
return 1;
else
return 0;
}
void tipar ()
{
int i;
for(i=1;i<=k;i++)
g<<x[i]<<" ";
g<<"\n";
}
void back ()
{
int as;
k=1;
init();
while (k>0)
{
do {} while ((as=succesor()) && !valid());
if (as)
{
if (solutie())
tipar();
else
{
k++;
init();
}
}
else
k--;
}
}
int main ()
{
f>>n;
f>>m;
back();
f.close();g.close();
return 0;
}