Pagini recente » Cod sursa (job #2952650) | Cod sursa (job #309894) | Cod sursa (job #2428660) | Cod sursa (job #1163291) | Cod sursa (job #182748)
Cod sursa(job #182748)
var v:array[0..1005] of 0..1;
vv:array[0..1005] of boolean;
a:array[1..1005,1..105] 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,'aprindere.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,'aprindere.out');rewrite(f);
write(f,suma);
close(f);
end;
procedure cauta;
begin
for i:=ii 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[m,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.