Pagini recente » Cod sursa (job #623509) | Cod sursa (job #485411) | Cod sursa (job #2903173) | Cod sursa (job #2626260) | Cod sursa (job #1914457)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("combinari.in");
ofstream g ("combinari.out");
int n,k=1,x,i;
int *st=new int [10];
bool Am_Succesor()
{
if(st[k]<n)
{
st[k]++;
return true;
}
return false;
}
bool E_Valid()
{
for(i=1;i<k;i++)
{
if(st[i]>st[i+1]||st[i]==st[k])
{
return false;
}
}
return true;
}
void back()
{
bool AS;
st[k]=0;
while(k>0)
{
while((AS=Am_Succesor())&&!E_Valid());
{
if(AS)
{
if(k==x)
{
for(i=1;i<=x;i++)
{
g<<st[i]<<" ";
}
g<<endl;
}
else
{
k++;
st[k]=0;
}
}
else
{
k--;
}
}
}
}
int main()
{
f>>n>>x;
f.close();
back();
g.close();
delete st;
}