Pagini recente » Cod sursa (job #1718357) | Cod sursa (job #168480) | Cod sursa (job #1661272) | Cod sursa (job #1795967) | Cod sursa (job #1041049)
//http://www.infoarena.ro/problema/loto
#include <stdio.h>
int st[101],k,i,j,n,as,ev,nr=0,l;
long s,a[101];
void init(void)
{
st[k]=0;
}
void succesor(void)
{
as=1;
if (st[k]<n&&k<=6) st[k]++;
else as=0;
}
void valid(void)
{
ev=1;
}
int solutie(void)
{
long l=0;
if (k==6)
{
for (i=1;i<=6;i++)
l=l+a[st[i]];
if (l==s)
return 1;
}
return 0;
}
int main()
{
FILE *f=fopen("loto.in","r");
FILE *g=fopen("loto.out","w");
fscanf (f,"%d%d",&n,&s);
for (i=1;i<=n;i++)
fscanf (f,"%d",&a[i]);
k=1;
init();
while(k>0) {
do
{
succesor();
if (as)
valid();
}
while ((as) && (!as || !ev));
if (as)
if (solutie())
{
for (i=1;i<=6;i++)
fprintf (g,"%d ",a[st[i]]);
k=-2;
}
else {
k++;
init();}
else k--;}
return 0;
}