Cod sursa(job #182739)

Utilizator DanielGGlodeanu Ioan Daniel DanielG Data 21 aprilie 2008 11:50:19
Problema Aprindere Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.87 kb
var v:array[0..1005] of 0..1;
a:array[1..1005,1..105] of integer; {1005, la prima}
f:text; ok:boolean;
m,n,i,j,k: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:=0 to n-1 do
if v[i]=0 then break;
end;
begin
citire;
suma:=0;
ok:=false;
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.