Pagini recente » Cod sursa (job #211346) | Cod sursa (job #445900) | Cod sursa (job #2887365) | Cod sursa (job #2712408) | Cod sursa (job #4973)
Cod sursa(job #4973)
// Loto.cpp : Defines the entry point for the console application.
//
//#include "stdafx.h"
#include <stdio.h>
//#include <conio.h>
#pragma warning(disable : 4996)
long n, s;
long v[100];
long sz[6] = {0};
int back(int p)
{
int retv = 0;
if (p >= 6)
{
long sum = 0;
for(int i=0;i<6;i++) sum += v[sz[i]];
if (sum == s) retv = 1;
} else {
if (p > 0) sz[p] = sz[p-1];
else sz[p] = 0;
while (sz[p] < n && retv == 0)
{
retv = back(p+1);
sz[p]++;
}
sz[p]--;
}
return retv;
}
int main(int argc, char* argv[])
{
long i;
FILE *f = fopen("loto.in","r");
fscanf(f, "%ld %ld", &n, &s);
for(i=0;i<n;i++) fscanf(f, "%ld", &v[i]);
fclose(f);
bool error = false;
f = fopen("loto.out","w");
if (s < v[0]*6 || s > v[5]*6)
{
fprintf(f,"-1");
} else {
if (s == v[0]*6)
{
for(i=0;i<6;i++) fprintf(f, "%ld ", v[0]);
} else {
if (s == v[5]*6)
{
for(i=0;i<6;i++) fprintf(f, "%ld ", v[5]);
} else {
if (back(0) != 0)
{
for(i=0;i<6;i++) fprintf(f, "%ld ", v[sz[i]]);
} else {
fprintf(f,"-1");
}
}
}
}
return 0;
}