Cod sursa(job #1041049)

Utilizator cristy202020Totolin Cristian cristy202020 Data 25 noiembrie 2013 14:28:56
Problema Loto Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 0.87 kb
//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;
}