Cod sursa(job #812680)

Utilizator razvan9310FMI - Razvan Damachi razvan9310 Data 14 noiembrie 2012 11:08:02
Problema Loto Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <stdio.h>
#include <stdlib.h>

#define mod 666013

typedef struct Nod
{
	int inf1, inf2, inf3;
	struct Nod *adr;
}nod;
nod *l[mod];

void add(int x, int y, int z)
{
	const int m = (x+y+z)%mod;
	if (!l[m])
	{
		l[m] = (nod*)malloc(sizeof(nod));
		l[m]->inf1 = x;
		l[m]->inf2 = y;
		l[m]->inf3 = z;
		l[m]->adr = NULL;
		return;
	}
	nod *p = l[m];
	while (p->adr) p = p->adr;
	p->adr = (nod*)malloc(sizeof(nod));
	p->adr->inf1 = x; p->adr->inf2 = y; p->adr->inf3 = z;
	p->adr->adr = NULL;
}

int main()
{
	FILE *in = fopen("loto.in", "r"), *out = fopen("loto.out", "w");
	int n, s, i, j, k, *v;
	fscanf(in, "%d%d", &n, &s);
	v = (int*)malloc(4*n);
	for (i=0;i<n;i++) fscanf(in, "%d", &v[i]);
	
	for (i=0;i<n;i++)
		for (j=0;j<n;j++)
			for (k=0;k<n;k++)
				add(v[i], v[j], v[k]);
	
			//De verificat sumele!
	for (i=0;i<mod;i++)
		if (l[i] && l[s-i])
		{
			fprintf(out, "%d %d %d %d %d %d", l[i]->inf1, l[i]->inf2, l[i]->inf3, l[s-i]->inf1, l[s-i]->inf2, l[s-i]->inf3);
			return 0;
		}
	fprintf(out, "-1");
	return 0;
}