Pagini recente » Cod sursa (job #1971395) | Cod sursa (job #2799150) | Cod sursa (job #1487656) | Cod sursa (job #2830883) | Cod sursa (job #2926255)
#include <stdio.h>
#include <fstream>
using namespace std;
ifstream f("combinari.in");
FILE *fout;
char o[200];
int kv;//ofstream g("combinari.out");
int fl[20],af[20];
void golire()
{
for(int i=0; i<200; i++)
o[i]='\0';
}
int n,tot,lol;
void afis()
{
/*for(int i=0; i<tot; i++)
g<<af[i]<<" ";
g<<"\n";*/
for(int i=0; i<tot; i++)
{if(af[i]>9)
{o[kv++]=af[i]/10+'0';o[kv++]=af[i]%10+'0';}
else
o[kv++]=af[i]+'0';
o[kv++]=' ';
}
o[kv++]='\n';
if(kv>=150)
{
fprintf(fout,"%s",o);
kv=0;
golire();
}
}
void com(int x,int k)
{
{
if(x==1)
{
for(int i=k; i<=n-x+1; i++)
{
if(fl[i]==0&&i>af[tot-x-1])
{
af[tot-1]=i;
afis();
}
}
}
else
{
for(int i=k; i<=n-x+1; i++)
{
if(lol==0)
{
lol=1;
if(fl[i]==0)
{
fl[i]=1;
af[tot-x]=i;
com(x-1,k+1);
fl[i]=0;
}
}
else if(fl[i]==0&&i>af[tot-x-1])
{
fl[i]=1;
af[tot-x]=i;
com(x-1,k+1);
fl[i]=0;
}
}
}
}
}
int main()
{
fout = fopen("combinari.out", "w");
f>>n>>tot;
com(tot,1);
fprintf(fout,"%s",o);
}