Cod sursa(job #766765)

Utilizator bratualexBratu Alexandru bratualex Data 12 iulie 2012 02:19:47
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.97 kb
#include <fstream>

using namespace std;
ifstream fin ("combinari.in");
ofstream fout ("combinari.out");
int sol[100],v[100],n,i,j,k,c;
void back();
void afisare();
int valid ();
int main()
{
    fin>>n>>c;
    for ( i=0;i<n;i++)
        v[i]=i+1;
    i=-1;
    back();
    return 0;
}

void back ()
{
    k=0;
    while (k>=0)
    {
        do
        {
            i++;
            sol[k]++;

        }while(i<n&&!valid());
        if (i<n)
        {
            if (k==c-1)
                afisare();
            else
            {
                k++;
                sol[k]=0;
                i=-1;
            }
        }
        else
        {

            k--;
            i=sol[k];
        }
    }

}

void afisare ()
{
    int u;

    for (u=0;u<c;u++)
        fout<<sol[u]<<" ";
    fout<<"\n";
}
int valid ()
{
    int u;
    for ( u=0;u<k;u++)
        if (sol[u]>=sol[k])
            return 0;
    return 1;
}