Cod sursa(job #28093)

Utilizator cheery_g1rlHaller Emanuela cheery_g1rl Data 7 martie 2007 14:51:46
Problema Balanta Scor 80
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.45 kb
program balanta;
var f,g:text;
   a,b:array[1..1024] of 0..2;
   v,vv:array[1..512] of 1..1024;
   n,m,i,j,k,c,r:integer;
begin
assign(f,'balanta.in');
reset(f);
readln(f,n,m);
for i:=1 to n do begin a[i]:=0; b[i]:=0;end;
for i:=1 to m do
  begin
    read(f,k);
    for j:=1 to k do read(f,v[j]);
    for j:=1 to k do read(f,vv[j]);
    readln(f,r);
    if r=0 then
      begin
        for j:=1 to k do
          begin
            a[v[j]]:=2;  a[vv[j]]:=2;
            b[v[j]]:=2;
            b[vv[j]]:=2;
          end;
      end
         else if r=1 then
           begin
             for j:=1 to k do begin if a[v[j]]=0 then a[v[j]]:=1; if a[vv[j]]=1 then a[vv[j]]:=0;{
b[v[j]]:=0; }end;
             for j:=1 to k do begin if b[vv[j]]=0 then b[vv[j]]:=1; if b[v[j]]=1 then b[vv[j]]:=0;{a[vv[j]]:=0;} end;
           end
              else
           begin
             for j:=1 to k do begin if b[v[j]]=0 then b[v[j]]:=1;  if b[vv[j]]=1 then b[vv[j]]:=0; {a[v[j]]:=0; }end;
             for j:=1 to k do begin if a[vv[j]]=0 then a[vv[j]]:=1; if a[v[j]]=1 then a[v[j]]:=0; {b[vv[j]]:=0;}
 end;


           end;
  end;
close(f);
assign(g,'balanta.out');
rewrite(g);
c:=0;
for i:=1 to n do if a[i]=1 then begin inc(c); j:=i; end;
if c=1 then writeln(g,j)
  else
    begin
      c:=0;
      for i:=1 to n do if b[i]=1 then begin inc(c); j:=i; end;
      if c=1 then writeln(g,j)
         else writeln(g,'0');

    end;
close(g);
end.