Pagini recente » Cod sursa (job #1362854) | Cod sursa (job #501664) | Cod sursa (job #554445) | Cod sursa (job #2492457) | Cod sursa (job #1510374)
#include <bits/stdc++.h>
using namespace std;
ifstream in("loto.in");
ofstream out("loto.out");
int n;
int s;
int *p;
typedef int stiva[100];
stiva st;
int ok = 1;
int sum = 0;
void tipar(int k)
{
for(int i=1;i<=k;i++)
out<<st[i]<<" ";
out<<'\n';
}
bool valid(int k)
{
if(st[k]<st[k-1])
return false;
if(sum>s)
return false;
return true;
}
void bk(int k)
{
if(ok)
{
if(sum==s)
{
if(k==7)
{
tipar(k-1);
ok = 0;
}
}
else
{
for(int i=1;i<=n;i++)
{
st[k] = p[i];
sum+=st[k];
if(valid(k))
bk(k+1);
sum-=st[k];
}
}
}
}
int main()
{
in>>n>>s;
p = new int[n+1];
for(int i=1;i<=n;i++)
in>>p[i];
bk(1);
in.close();
out.close();
delete[] p;
return 0;
}