Pagini recente » Cod sursa (job #186241) | Cod sursa (job #2718523) | Cod sursa (job #779362) | Cod sursa (job #2871278) | Cod sursa (job #305923)
Cod sursa(job #305923)
#include<iostream>
#include<fstream>
using namespace std;
ofstream o ("combinari.out");
int n,st[100],k,m;
int valid()
{ int j;
for(j=1;j<k;j++)
if(st[k]==st[j] || st[k]<st[j])
return 0;
return 1;
}
int succ()
{
if(st[k]<n)
{st[k]++;
return 1;}
else
return 0;
}
void bkt()
{
int a,i;
k=1;
st[k]=0;
while(k>0)
{
do
a=succ();
while(a && !valid());
if(a)
if(k==m)
{ for(i=1;i<=m;i++)
o<<st[i]<<" ";
o<<"\n";}
else
{
// if(k==1)
// st[k]=0;
// else
// st[k]=st[k-1];
k++;st[k]=0;
}
else k--;
}
}
int main()
{
ifstream f ("combinari.in");
f>>n>>m;
bkt();
return 0;}