Pagini recente » Cod sursa (job #1137083) | Cod sursa (job #161541) | Cod sursa (job #2800238) | Cod sursa (job #880558) | Cod sursa (job #398249)
Cod sursa(job #398249)
#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;
}