Cod sursa(job #9087)

Utilizator skydomePop Paul skydome Data 26 ianuarie 2007 17:43:01
Problema Loto Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.84 kb
var i,n:integer;
v,st:array[1..100] of longint;
s:longint;
f,g:text;


procedure scrie(p:integer);
var k:integer;
begin
assign(f,'loto.out');
rewrite(f);
for k:=1 to p do
write(f,st[k],' ');
close(f);
halt;
end;

function suma(p:integer):boolean;
var i:integer;
z:longint;
begin
z:=0;
for i:=1 to p do
z:=z+st[i];
if z=s then suma:=true else suma:=false;
end;
function valid(p:integer):boolean;
var z:longint;
i:integer;
ok:boolean;
begin
ok:=true;
z:=0;
for i:=1 to p do
z:=z+st[i];
if z>s then ok:=false;
valid:=ok;
end;

procedure back(p:integer);
var val:integer;
begin
for val:=1 to n do
begin
st[p]:=v[val];
if valid(p) then
if (suma (p)) and (p=6) then
scrie(p) else back(p+1);
end;
end;

begin
assign(g,'loto.in');
reset(g);
readln(g,n,s);
for i:=1 to n do read(g,v[i]);
close(g);
back(1);
end.