Cod sursa(job #398249)

Utilizator beyond_k7aOnutu Catalin beyond_k7a Data 18 februarie 2010 12:27:47
Problema Loto Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<fstream>
using namespace std;
unsigned int sir[10],a[105],cc,s,af,b[105],c[105];
int n;

int cmp(unsigned int a, unsigned int b)
{
	return a>b;
}

void back(int i, unsigned int su)
{
	int k;
	for(k=1;k<=n && !af;k++)
	{
		sir[i]=a[k];
		su+=sir[i];
		if(su<s && i<6)
			back(i+1,su);
		if(su==s && i==6)
		{
			af=1;
			break;
		}
		su-=sir[i];
	}
}
int main()
{
	ifstream f("loto.in");
	
	
	f>>n>>s;

	int i,j;
	j=0;
	for(i=1;i<=n;i++)
	{
		f>>cc;
		if(cc<s)
		{
			j++;
			a[j]=cc;
		}
	}
	n=j;

	ofstream g("loto.out");
	//sort(a+1,a+n+1,cmp);
	j=0;
	c[0]=1;
	int k;
	while(j<n)
	{
		k=0;
		while(c[k])
		{
			srand(time(NULL));
			k=rand()%n +1;
		}
		j++;
		c[k]=1;
		b[j]=a[k];
	}
	
	back(1,0);
	if(af)
	{
		for(i=1;i<=6;i++)
			g<<sir[i]<<" ";
	}
	if(!af)
		g<<"-1";
	
	g.close();
	f.close();

	return 0;
}