Cod sursa(job #1018927)

Utilizator dragos_musanMusan Dragos dragos_musan Data 30 octombrie 2013 09:51:24
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<fstream>

using namespace std;

int n,m;
bool ok;
int v[21];

void continuare(int k)
{
    int i;
    ok=true;
    if((k>1) && v[k]<=v[k-1])
        {
            ok=false;
        }
}

bool succesor(int k)
{
    if(v[k]<n-m+k)
    {
        v[k]=v[k]+1;
        return true;
    }
    return false;
}

int main()
{
    ifstream f("combinari.in");
    ofstream g("combinari.out");
    f>>n>>m;
    int k=1,i;
    v[k]=0;
    while(k>0)
    {
        ok=false;
        while(!ok && succesor(k))
            continuare(k);
        if(!ok) k--;
        else if(k==m)
        {
            for(i=1;i<=k;i++)
                g<<v[i]<<' ';
            g<<'\n';
        }
        else v[++k]=0;
    }
    return 0;
}