Cod sursa(job #505562)

Utilizator Dumitru_GeorgeDumitru George Cristian Dumitru_George Data 2 decembrie 2010 21:57:18
Problema Loto Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<iostream.h>
#include<fstream.h>
int n,st[1000],z,i,s,pac,v[100],termina;
ifstream fin("loto.in");
ofstream fout("loto.out");
void init(int k)
{st[k]=0;
}	

int succesor(int k)
{if(st[k]<n)
{st[k]++;
return 1;
}

else return 0;
}

int valid(int k)
{int i,ev=1;
if(termina==0){
for(i=1;i<=k-1;i++)
	if(st[i+1]<st[i])
		ev=0;
}
else return 0;
	return ev;
}

int solutie(int k)
{return k==7;
}

void tipar()
{for(int i=1;i<=6;i++)
	pac=pac+v[st[i]];
	if(pac==s&&termina==0){termina++;for(i=1;i<=6;i++)
		fout<<v[st[i]]<<" ";}
	pac=0;
}

void back(int k)
{if(solutie(k))tipar();
else{init(k);
while(succesor(k))
	if(valid(k))back(k+1);
}
}

int main()
{fin>>n>>s;
	for(i=1;i<=n;i++)
		fin>>v[i];

back(1);

fin.close();
fout.close();
return 0;
}