Pagini recente » Cod sursa (job #2115579) | Cod sursa (job #2509290) | Cod sursa (job #2373157) | Cod sursa (job #2827) | Cod sursa (job #1168662)
#include <fstream>
using namespace std;
ifstream f("combinari.in");
ofstream g("combinari.out");
int n,k,lim[20],a[20],j,l,i;
string s[50000];
char ca;
void bt(int i)
{
int j;
if (i==k+1)
{
l++;
for (j=0;j<k;j++)
{
if (a[j+1]/10==0)
ca=a[j+1]+'0',s[l]+=ca;
else
{
ca=a[j+1]/10+'0';
s[l]+=ca;
ca=a[j+1]%10+'0';
s[l]+=ca;
}
s[l]+=' ';
}
}
else
for (j=a[i-1]+1;j<=lim[i];j++)
a[i]=j,bt(i+1);
}
int main()
{
f>>n>>k;
lim[k]=n;
for (i=k-1;i>=1;i--)
lim[i]=lim[i+1]-1;
bt(1);
for (j=1;j<=l;j++)
g<<s[j]<<'\n';
return 0;
}