Cod sursa(job #18153)

Utilizator CezarMocanCezar Mocan CezarMocan Data 18 februarie 2007 10:10:37
Problema Amlei Scor 0
Compilator fpc Status done
Runda preONI 2007, Runda 2, Clasa a 9-a si gimnaziu Marime 2.52 kb
type exp=record
              a,b,c:integer;
        end;

var v1,v2:array[1..510]of exp;
    n,m,p,i,j,max,min,s,k:longint;
    ok:boolean;

begin
assign(input,'amlei.in');reset(input);
assign(output,'amlei.out');rewrite(output);
while not eof do
      begin
      readln(n,m,p);
      for i:=1 to m do
          begin
          read(v1[i].a,v1[i].b,v1[i].c);
          max:=v1[i].a;
          if v1[i].b>max then
             max:=v1[i].b;
          if v1[i].c>max then
             max:=v1[i].c;
          min:=v1[i].a;
          if v1[i].b<min then
             min:=v1[i].b;
          if v1[i].c<min then
             min:=v1[i].c;
          s:=v1[i].a+v1[i].b+v1[i].c;
          v1[i].a:=min;
          v1[i].c:=max;
          v1[i].b:=s-max-min;
          end;
      for i:=1 to p do
          begin
          read(v2[i].a,v2[i].b,v2[i].c);
          max:=v2[i].a;
          if v2[i].b>max then
             max:=v2[i].b;
          if v2[i].c>max then
             max:=v2[i].c;
          min:=v2[i].a;
          if v2[i].b<min then
             min:=v2[i].b;
          if v2[i].c<min then
             min:=v2[i].c;
          s:=v2[i].a+v2[i].b+v2[i].c;
          v2[i].a:=min;
          v2[i].c:=max;
          v2[i].b:=s-max-min;
          end;
          for i:=1 to m-1 do
              begin
              for j:=i+1 to m do
                  if (v1[i].a=v1[j].a)and(v1[i].b=v1[j].b)and(v1[i].c=v1[j].c)
                     then begin
                     dec(m);
                     for k:=j to m do
                         v1[k]:=v1[k+1];
                     end;
              end;
          for i:=1 to p-1 do
              begin
              for j:=i+1 to p do
                  if (v2[i].a=v2[j].a)and(v2[i].b=v2[j].b)and(v2[i].c=v2[j].c)
                     then begin
                     dec(p);
                     for k:=j to p do
                         v2[k]:=v2[k+1];
                     end;
              end;
      for i:=1 to m do
          begin
          ok:=false;
          for j:=1 to p do
              if (v1[i].a=v2[j].a)and(v1[i].b=v2[j].b)and(v1[i].c=v2[j].c)
                 then begin
                 ok:=true;
                 break;
                 end;
          if m<>p then
             ok:=false;
          if not ok then
             begin
             writeln('NU');
             break;
             ok:=false;
             end;
          end;
      if ok then
         writeln('DA');
      end;
close(input);close(output);
end.