Cod sursa(job #43036)

Utilizator the_dragon_of_rockTzogorean Alex the_dragon_of_rock Data 29 martie 2007 19:10:49
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.57 kb
#include<fstream>
using namespace std;
int a[200],n,x[10],s,gata=0,ss;


ofstream out("loto.out");
/*void afisare(int k)
{
    int i,ss=0;
    for (i=1;i<=k;i++)
        ss+=a[x[i]];
    if (ss==s)
        gata=1;
}*/

void back()
{
    int k,i,ok;
    k=1;
    x[k]=0;
    while(k>0 && !gata)
        {
            ok=1;
            if (x[k]<n)
                    {
                    x[k]=x[k]+1;
                    ss=ss+x[k];
                    }
            else
                ok=0;
            if (ok)
                {
                if (ss<=s)
                    if (k==6)
                        {
                        if (ss==s)
                            {
                                /*for (i=1;i<=k;i++)
                                    out<<a[x[i]]<<" ";
                                out<<"    "<<ss<<"\n";*/
                                gata=1;
                            }
                        }
                    else
                        {
                            k++;
                            x[k]=0;
                        }
                ss=ss-a[x[k]];
                }
            else
                {
                k--;
                ss=ss-a[x[k]];
                }
        }
}

int main()
{
    ifstream in("loto.in");
    in>>n>>s;
    int i;
    for (i=1;i<=n;i++)
        in>>a[i];
    in.close();
    
    back();
    
    if (gata==0)
        out<<-1;
    else
        for (i=1;i<=6;i++)
            out<<a[x[i]]<<" ";
    out.close();

    return 0;
}