Cod sursa(job #650705)

Utilizator yippeeErja Eduard yippee Data 18 decembrie 2011 19:58:56
Problema Loto Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<stdio.h>
#include<fstream>

using namespace std;

double n,a[100],st[60000000],s,ok = 0;
FILE *g = fopen("loto.out","w");

 void afis(int k)
 {
   for(int i=0;i<k;i++)
     fprintf(g,"%0.0lf ", st[i]);
 }

 int valid(int x,int k)
 {
     if(st[k] > x)
       return 0;

    return 1;
 }

 void back(int k)
 {
     if(!s && k == 6)
     {
       afis(k);
       ok = 1;
     }

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

          }
 }

int main()
{
    FILE *f = fopen("loto.in", "r");
    fscanf(f,"%lf%lf", &n,&s);
    for(int i=0;i<n;i++)
      fscanf(f,"%lf", &a[i]);

    back(0);

    if(!ok)
     fprintf(g,"-1");

    return 0;
}