Pagini recente » Cod sursa (job #2418442) | Cod sursa (job #1424362) | Cod sursa (job #2029127) | Cod sursa (job #1938075) | Cod sursa (job #2132794)
#include <fstream>
#include <iostream>
#include <cstring>
using namespace std;
ifstream f ("loto.in");
ofstream g ("loto.out");
int x[7],a[101],n,s,sol[7];
void citire()
{
f>>n>>s;
for(int i=1;i<=n;i++)
f>>a[i];
}
bool valid(int k)
{
return k<=6;
}
bool solutie(int k,int sum)
{
return k==6&&sum==s;
}
void back(int k=1,int s=0)
{
for(int i=1;i<=n&&sol[1]==0;i++)
{
x[k]=i;
s+=a[i];
if(valid(k))
{
if(solutie(k,s))
{
for(int i=1;i<=6;i++)
sol[i]=a[x[i]];
}
else
back(k+1,s);
}
s-=a[i];
}
}
bool e_zero()
{
for(int i=1;i<=6;i++)
if(sol[i]==0)
return 1;
return 0;
}
int main()
{
citire();
back();
if(e_zero()==false)
{
for(int i=1;i<=6;i++)
g<<sol[i]<<' ';
}
else
g<<-1;
return 0;
}