Cod sursa(job #43036)
Utilizator | Data | 29 martie 2007 19:10:49 | |
---|---|---|---|
Problema | Loto | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.57 kb |
#include<fstream>
using namespace std;
int a[200],n,x[10],s,gata=0,ss;
ofstream out("loto.out");
/*void afisare(int k)
{
int i,ss=0;
for (i=1;i<=k;i++)
ss+=a[x[i]];
if (ss==s)
gata=1;
}*/
void back()
{
int k,i,ok;
k=1;
x[k]=0;
while(k>0 && !gata)
{
ok=1;
if (x[k]<n)
{
x[k]=x[k]+1;
ss=ss+x[k];
}
else
ok=0;
if (ok)
{
if (ss<=s)
if (k==6)
{
if (ss==s)
{
/*for (i=1;i<=k;i++)
out<<a[x[i]]<<" ";
out<<" "<<ss<<"\n";*/
gata=1;
}
}
else
{
k++;
x[k]=0;
}
ss=ss-a[x[k]];
}
else
{
k--;
ss=ss-a[x[k]];
}
}
}
int main()
{
ifstream in("loto.in");
in>>n>>s;
int i;
for (i=1;i<=n;i++)
in>>a[i];
in.close();
back();
if (gata==0)
out<<-1;
else
for (i=1;i<=6;i++)
out<<a[x[i]]<<" ";
out.close();
return 0;
}