Cod sursa(job #385072)

Utilizator v14dVlad Baesu v14d Data 22 ianuarie 2010 02:37:57
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<fstream>
using namespace std;
ifstream fi("loto.in");
ofstream fo("loto.out");

int n,test;
long s,d[100];
int k,x[100];
void citeste()
{
  fi>>n>>s;
  for(int i=0;i<n;i++) fi>>d[i];
}

int cond(int k)
{
  int sum=0;
  for(int i=1;i<=k;i++) sum+=x[i];
  if(sum>s) return 0;
  return 1;
}

int condf(int k)
{
  if(k!=6) return 0;
  int sum=0;
  for(int i=1;i<=k;i++) sum+=x[i];
  if(sum!=s) return 0;
  return 1;
}
void afis()
{
  for(int i=1;i<=k;i++) fo<<x[i]<<' ';
}

void back(int k)
{
  int i;
  for(i=0;i<n;i++)
  {
    x[k]=d[i];
    if(cond(k)) 
    { 
      if(condf(k)) { afis(); test=1; }
	else back(k+1);
    }
  }
}

int main()
{
    citeste();
    back(1);
    if(!test) fo<<'-1'<<'\n';
    fi.close();
    fo.close();
    return 0;
}