Pagini recente » Cod sursa (job #2813544) | Cod sursa (job #2614880) | Cod sursa (job #2734732) | Cod sursa (job #2356754) | Cod sursa (job #4975)
Cod sursa(job #4975)
// Loto.cpp : Defines the entry point for the console application.
//
#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[n-1]*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[n-1]*6)
{
for(i=0;i<6;i++) fprintf(f, "%ld ", v[n-1]);
} else {
if (back(0) != 0)
{
for(i=0;i<6;i++) fprintf(f, "%ld ", v[sz[i]]);
} else {
fprintf(f,"-1");
}
}
}
}
return 0;
}