Cod sursa(job #1168662)

Utilizator Darius15Darius Pop Darius15 Data 9 aprilie 2014 11:02:13
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#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;
}