Pagini recente » Cod sursa (job #153844) | Cod sursa (job #374467) | Statistici Dima Cibotari (razoRDm) | Cod sursa (job #1083019) | Cod sursa (job #1510372)
#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;
void tipar(int k)
{
for(int i=1;i<=k;i++)
out<<st[i]<<" ";
out<<'\n';
}
int suma(int k)
{
int s = 0;
for(int i=1;i<=k;i++)
s+=st[i];
return s;
}
bool valid(int k)
{
if(st[k]<st[k-1])
return false;
if(suma(k)>s)
return false;
return true;
}
void bk(int k)
{
if(ok)
{
if(suma(k-1)==s)
{
if(k==7)
{
tipar(k-1);
ok = 0;
}
}
else
{
for(int i=1;i<=n;i++)
{
st[k] = p[i];
if(valid(k))
bk(k+1);
}
}
}
}
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;
}