Cod sursa(job #307498)

Utilizator CrystopherJalba Cristian Crystopher Data 24 aprilie 2009 11:40:10
Problema Semne Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream.h>   
ifstream f ("semne.in");   
ofstream g ("semne.out");   
long int n,s,sol[50000];   
int terminat;   
void afiseaza()   
    {   
    int suma=0;   
      for(int i=1;i<=n;i++) suma+=sol[i];   
      if(suma==s){ terminat=1;   
        for(int i=1;i<=n;i++) {if(sol[i]<0) g<<"-";   
      else g<<"+";}  }   
   }   
void back(int k)   
    {   
    if(k==n+1) afiseaza();   
      else  
          if(terminat==0){   
            back(k+1);   
            sol[k]=0-sol[k];   
            back(k+1);   
            sol[k]=0-sol[k];}   
   }   
int main()   
    {   
    f>>n;   
      f>>s;   
      for(int i=1;i<=n;i++)   
        {   
            f>>sol[i];   
         }   
      terminat=0;   
      back(1);   
        return 0;   
   }