Pagini recente » Cod sursa (job #443871) | Cod sursa (job #363561) | Cod sursa (job #257147) | Cod sursa (job #793617) | Cod sursa (job #2216783)
#include <iostream>
using namespace std;
#include <fstream>
unsigned n,m,st[10];
ofstream g("combinari.out");
unsigned succesor (unsigned k)
{
if(st[k]<n)
{
st[k]++;
return 1;
}
return 0;
}
unsigned valid (unsigned k)
{
unsigned i;
for(i=1;i<k;i++)
if(st[i]==st[k])
return 0;
if(k>1&&st[k]<st[k-1])
return 0;
return 1;
}
unsigned solutie (unsigned k)
{return k==m;}
void tipar ()
{
unsigned i;
for(i=1;i<=m;i++)
g<<st[i]<<" ";
g<<"\n";
}
void bt(unsigned k)
{
st[k]=0;
while (succesor (k))
if(valid (k))
{if(solutie (k))
tipar();
else bt(k+1);}}
int main(){
ifstream f("combinari.in");
f>>n>>m;
bt(1);
f.close();
g.close();
return 0;}