Cod sursa(job #1130940)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 28 februarie 2014 16:40:58
Problema Combinari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<fstream>
using namespace std;
ifstream in("combinari.in");
ofstream out("combinari.out");
int a,n,v[19];
void wrt()
{
    int i;
    for (i = 1; i<=n ; i++)
        out<<v[i]<<" ";
    out<<endl;
}

int succesor(int k)
{
    if (v[k]<a) {v[k]++;return 1;}
    return 0;
}

int valid(int k)
{
    int i;
    for(i=1 ; i<=k-1 ; i++)
       if (v[i]>=v[k]) return 0;
    return 1;
}

void back(int k)
{

    if(k==n+1) wrt();
    else
    {

        v[k] = 0;
        while(succesor(k))
        {
            if(valid(k)) back(k+1);
        }
    }
}

int main()
{
    v[0]=0;
    in>>a>>n;
    in.close();
    back(1);
    out.close();
    return 0;
}