Cod sursa(job #1403347)

Utilizator bt.panteaPantea Beniamin bt.pantea Data 27 martie 2015 11:08:30
Problema Loto Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("loto.in");
ofstream g ("loto.out");
int sw=1,i,v[105],q[10],n,s,z,j,j1;
struct aaa
{
    int x,e[3];
}r[1000000];
void tip()
{
    int i;
    for (i=1;i<=6;i++)
        g<<v[q[i]]<<' ';
}
int cl(int x,int n)
{
    int i;
    for (i=1;i<=n;i++)
        if (r[i].x==x) return 1;
    return 0;
}
void Back (int k,int sum)
{
    int i;
    for (i=q[k-1];i<=n&&sw;i++)
    {
        sum+=v[i];
        q[k]=i;
        if (k<3)
            Back (k+1,sum);
        else
        {
            if (cl(sum,z)==0)
            {
                z++;
                r[z].x=sum;
                for (int j=0;j<3;j++)
                {
                    r[z].e[j]=v[q[j+1]];
                }
            }
        }
        sum-=v[i];
    }
}
int main()
{
    f>>n>>s;
    for (i=1;i<=n;i++)
        f>>v[i];
    q[0]=1;
    Back(1,0);
    //cout<<z;
    for (i=1;i<=z;i++)
    {
        for (j=i+1;j<=z;j++)
            if (s==r[i].x+r[j].x)
            {
                for (j1=0;j1<3;j1++)
                    g<<r[i].e[j1]<<' '<<r[j].e[j1]<<' ';
            }
    }
    g<<-1;
    return 0;
}