Pagini recente » Cod sursa (job #3194602) | Cod sursa (job #3249149) | Cod sursa (job #2459334) | Cod sursa (job #2730501) | Cod sursa (job #182759)
Cod sursa(job #182759)
var v:array[0..1005] of 0..1;
vv:array[0..1005] of boolean;
a:array[1..5,1..5] of integer; {1005, la prima}
f:text; ok:boolean;
m,n,i,j,k,ii:integer;
suma:longint;
procedure citire;
var i,j:integer;
begin
assign(f,'aprinder.in');reset(f);
readln(f,n,m);
for i:=0 to n-1 do read(f,v[i]);
for i:=1 to m do
begin
read(f,a[i,1],a[i,2],a[i,3]);
for j:=4 to 3+a[i,3] do
read(f,a[i,j]);
end;
close(f);
end;
procedure aprinde;
begin
assign(f,'aprinder.out');rewrite(f);
write(f,suma);
close(f);
end;
procedure cauta;
begin
for i:=0 to n-1 do
if ((v[i]=0) and (vv[i]=true)) then
begin
vv[i]:=false;
break;
end;
end;
begin
citire;
suma:=0;
ok:=false;
for i:=0 to n-1 do vv[i]:=true;
while not ok do
begin
cauta;
ok:=true;
for k:=1 to m do
if a[k,1]=i then
begin
suma:=suma+a[k,2];
for j:=4 to 3+a[k,3] do
if v[a[k,j]]=0 then v[a[k,j]]:=1
else v[a[k,j]]:=0;
break;
end;
for i:=0 to n-1 do
if v[i]=0 then
begin
ok:=false;
break
end;
end;
aprinde;
end.