Cod sursa(job #551070)

Utilizator AndreiMihuAndrei Mihu AndreiMihu Data 10 martie 2011 12:06:17
Problema Loto Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream.h>
ifstream f("loto.in");
ofstream g("loto.out");
int a[101],x[10],k,i,S,s[10],n,ok;
void afis()
{ for(i=1;i<=6;i++) g<<a[x[i]]<<" ";
  g<<"\n";
}
int cont(int k)
{ if(k<6&&s[k-1]+a[x[k]]>S) return 0;
  if(ok) return 0;
  return 1;
}
void back(int k)
{ int i;
  if(s[6]==S) { afis();
                ok=1;
              }  
  else for(i=1;i<=n;i++)   { x[k]=i;
	                         if(cont(k)) {  s[k]=s[k-1]+a[x[k]];
                                            back(k+1);
									     }	
                           }
}
int main()
{ f>>n>>S;
  for(i=1;i<=n;i++) f>>a[i];
  s[1]=a[1];
  if(a[n]*6<S) g<<"-1";
  else back(1);
  f.close();
  g.close();
  return 0;
}