Cod sursa(job #48004)

Utilizator AymdTrimbitas Viorel Stefan Aymd Data 4 aprilie 2007 12:24:49
Problema Amlei Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.96 kb
type sir=array[1..50]of byte;
var f,g:text;
    n,t,u,ia,ib,i,j,x,k:integer;
    a,b:array[1..500]of sir;
    v:sir;
    e:boolean;

begin
assign(f,'amlei.in');
reset(f);
assign(g,'amlei.out');
rewrite(g);
while not eof(f) do begin
   for i:=1 to 500 do
      for j:=1 to 50 do begin
         a[i][j]:=0;
         b[i][j]:=0;
      end;
   ia:=0;
   ib:=0;
   readln(f,n,u,t);
   for i:=1 to u do begin
      for j:=1 to 50 do v[j]:=0;
      for j:=1 to n do begin
         read(f,x);
         if x>0 then v[x]:=1;
      end;
      j:=1;
      e:=true;
      while e and(j<ia+1) do begin
         j:=j+1;
         e:=true;
         for k:=1 to n do if a[j][k]<>v[k] then e:=false;
         e:=not e;
      end;
      if j>ia then begin
                   ia:=ia+1;
                   a[ia]:=v;
                   end;
   end;
   readln(f);
   for i:=1 to t do begin
      for j:=1 to 50 do v[j]:=0;
      for j:=1 to n do begin
         read(f,x);
         if x>0 then v[x]:=1;
      end;
      j:=1;
      e:=true;
      while e and(j<ib+1) do begin
         j:=j+1;
         e:=true;
         for k:=1 to n do if b[j][k]<>v[k] then e:=false;
         e:=not e;
      end;
      if j>ib then begin
                   ib:=ib+1;
                   b[ib]:=v;
                   end;
   end;
   readln(f);
   if ia<>ib then writeln(g,'NU')
             else begin
                  i:=0;
                  e:=true;
                  while e and (i<ia) do begin
                     i:=i+1;
                     e:=false;
                     j:=0;
                     while (not e)and(j<ia) do begin
                        j:=j+1;
                        e:=true;
                        for k:=1 to n do if a[i][k]<>b[j][k] then e:=false;

                     end;
                  end;
                  if e then writeln(g,'DA')
                       else writeln(g,'NU');
                  end;
end;
close(g);
end.