Cod sursa(job #86968)

Utilizator vicenzo_cnuStan Alexandru Dan vicenzo_cnu Data 25 septembrie 2007 22:42:52
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<stdio.h>
#define MAXN 105
int n,d,sol[10];
long long s,a[MAXN],c;
FILE *f,*g;
void citire()
{int i;
fscanf(f,"%d %lld",&n,&s);
for(i=1;i<=n;i+/+)
fscanf(f,"%lld",&a[i]);}

void sortare()
{int i,j,x;
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
if(a[i]>a[j])
{x=a[i];
a[j]=a[i];
a[i]=x;}}

void afisare()
{int i;
for(i=1;i<=6;i++)
fprintf(g,"%lld ",a[sol[i]]);}

int continuare(int k)
{int j;c=0;
for(j=1;j<=k;j++)
c+=a[sol[j]];
if(c>s)
return 0;
if(k>6)
return 0;
return 1;}

void bkt(int k)
{int i;
if(d==0)
for(i=1;i<=n;i++)
{sol[k]=i;
if(continuare(k))
if(k==6 && s==c)
{afisare();d=1;}
else bkt(k+1);}}

int main()
{f=fopen("loto.in","r");
g=fopen("loto.out","w");
citire();
sortare();
bkt(1);
if(!d)
fprintf(g,"-1");
fclose(f);
fclose(g);
 return 0;}