Cod sursa(job #594450)

Utilizator KaLoo1992Andrei Madalin KaLoo1992 Data 7 iunie 2011 18:25:46
Problema Loto Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<iostream>
#include<fstream.h>
int e_sol,N,S,x[100];
long v[100];

ofstream g("loto.out");

int continuare(int k){
    return k<=6;
}

int solutie(int k){
    int suma=0;
    for(int i=1;i<=k;i++)
      suma+=v[x[i]];
    return suma==S && k==6;
}

void tipareste(int k){
     for(int i=1;i<=k;i++)
       g<<v[x[i]]<<" ";
     e_sol=1;
     
}

void back(int k){
     for(int i=1;i<=N;i++){
     if(e_sol) break;
       else
       {
           x[k]=i;
           if(continuare(k))
              if(solutie(k))
                tipareste(k);
                   else
                back(k+1);
       }
     }
}

int main(){
    ifstream f("loto.in");
    f>>N;
    f>>S;
    
    for(int i=1;i<=N;i++)
      f>>v[i];
    
    back(1);
    
    if(!e_sol) g<<"-1";
    g.close();
    f.close();
    return 0;
}