Cod sursa(job #2094210)

Utilizator arcoC. Nicolae arco Data 25 decembrie 2017 12:38:06
Problema Loto Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 1.6 kb
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <stdint.h>

void bubble_sort(uint64_t *vector, uint64_t size);

int main(void)
{
	FILE *in = fopen("loto.in", "r");
	FILE *out = fopen("loto.out", "w");
	if(in != NULL && out != NULL)
	{
		uint64_t n, s, vector[110];
		fscanf(in, "%llu%*c%llu%*c", &n, &s);
		uint64_t i = 0;
		for(; i < n; i++)
		{
			uint64_t t;
			fscanf(in, "%llu%*c", &t);
			vector[i] = t;
		}
		bool found = false;

		i = 0;
		int j = 0, a = 0, b = 0, c = 0, d = 0;
		for(; i < n; i++)
		{
			j = 0;
			for(; j < n; j++)
			{
				a = 0;
				for(; a < n; a++)
				{
					b = 0;
					for(; b < n; b++)
					{
						c = 0;
						for(; c < n; c++)
						{
							d = 0;
							for(; d < n; d++)
							{
								uint64_t sum = vector[i] + vector[j] + vector[a] + vector[b] + vector[c] + vector[d];
								if(sum == s)
								{
									fprintf(out, "%llu %llu %llu %llu %llu %llu\n", vector[i], vector[j], vector[a], vector[b], vector[c], vector[d]);
									found = true;
									goto end;
								}
							}
						}
					}
				}
			}
		}
		end:
			;

		if(!found)
		{
			fprintf(out, "-1\n");
		}

		fclose(in);
		fclose(out);
	}
	else
	{
		printf("Error\n");
	}

	return 0;
}

void bubble_sort(uint64_t *vector, uint64_t size)
{
	bool end = false;
	while(!end)
	{
		end = true;
		uint64_t i = 0;
		for(; i < size - 1; i++)
		{
			if(vector[i] > vector[i + 1])
			{
				uint64_t temp = vector[i];
				vector[i] = vector[i + 1];
				vector[i + 1] = temp;
				end = false;
			}
		}
	}
}