Cod sursa(job #1190771)

Utilizator DragosMDragos DragosM Data 25 mai 2014 17:23:55
Problema Loto Scor 0
Compilator cpp Status done
Runda itmarathon Marime 1.19 kb
#include <fstream>
using namespace std;
ifstream f("prim.in");
ofstream g("prim.out");
int x[100],k,i,n,s,p=0;
void init(int k)
{
    x[k]=0;
}
int cont(int k)
{
    for(i=1;i<k;i++)
        if(x[i]==x[k])
            return 0;
    return 1;
}
int exista(int k)
{
    if(x[k]<n)
        return 1;
    return 0;
}
int solutie(int k)
{
    if(k==6)
        return 1;
    return 0;
}
void tiparire(int k)
{
    for(i=1;i<=k;i++)
        g<<x[i]<<" ";
    g<<"\n";
}
void bkt()
{
    k=1;
    init(k);
    while(k>0)
    {
        if(exista(k))
        {
            x[k]=x[k]+1;
            if(solutie(k))
            {
                p=0;
                for(i=1;i<=k;i++)
                    p=p+x[i];
                if(p==s)
                    tiparire(k);
            }
             else
                {k++;init(k);}
        }
        else
            k--;
    }
}
int main()
{
    int n,nr,s,v[10],i=1,k,p;
    f>>n>>s;
    for(i=1;i<=n;i++)
        f>>v[i];
    if(v[n]*6<s)
        g<<-1;
    else
        {if(v[n]*6==s)
                for(i=1;i<=6;i++)
                    g<<v[n]<<" ";
        else
            bkt();}
    return 0;
}