Cod sursa(job #1026776)

Utilizator TosuAndreiTosu Andrei TosuAndrei Data 11 noiembrie 2013 23:22:27
Problema Semne Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;
int st[1000000],a[100000],n,s,ok=0;
void citire()
{
    ifstream f("semne.in");
    f>>n>>s;
    for(int i=1;i<=n;i++)
        f>>a[i];
}
void afis()
{ofstream g("semne.out");
    for(int i=1;i<=n;i++)
        if(st[i]==1)
        g<<"+";
         else
            g<<"-";
            ok=1;
}
int solutie()
{int d=0;
    for(int i=1;i<=n;i++)
    if(st[i]==1)
        d+=a[i];
    else
        d=d-a[i];
    if(d==s)
        return 1;
        return 0;

}
void backt(int k)
{
    for(int i=1;i<=2;i++)
    {
        if(ok==1)
            break;
            st[k]=i;
            if(k==n)
               {if(solutie())
                afis();}
            else
                backt(k+1);


    }
}
int main()
{citire();
    backt(1);
    return 0;
}