Cod sursa(job #995265)

Utilizator mestMarius Isvan mest Data 8 septembrie 2013 14:58:50
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>

using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int i,k,st[101],a[101],n,si,sw;

void citire()
{
    f>>n>>si;
    for(i=1;i<=n;i++)
        f>>a[i];
    f.close();
}

int valid (int k)
{
    int s=0,i;
    for(i=1;i<=k;i++)
        s=s+st[i];
    if(s>si)    return 0;
    if(k>n) return 0;
    return 1;
}

int solutie(int k)
{
    int s=0,i;
    for(i=1;i<=k;i++)
        s=s+st[i];
    if(s==si)   return 1;
    else return 0;
}

void tipar(int k)
{
    int i;
    for(i=1;i<=k;i++)
        g<<st[k]<<' ';
}

void back(int k)
{
    int i;
    for(i=1;i<=n;i++)
    {
        st[k]=i;
        if(valid(k))
        {
            if(solutie(k))  {sw=1;  tipar(k); }
        }
        else back(k+1);
    }
}

int main()
{
    citire();
    back(1);
    if(sw==0)   g<<"-1";
    return 0;
}