Cod sursa(job #67593)

Utilizator ProtomanAndrei Purice Protoman Data 25 iunie 2007 12:21:33
Problema Sate Scor 0
Compilator fpc Status done
Runda preONI 2007, Runda Finala, Clasa a 10-a Marime 1.31 kb
var v:array[1..30,1..30] of longint;
    i,j,n,m,d,x,y,a,b,g:longint;
    f1,f2:text;
begin
     assign(f1,'sate.in');
     reset(f1);
     assign(f2,'sate.out');
     rewrite(f2);
     read(f1,n,m,x,y);
     for i:=1 to m do
     begin
          read(f1,a,b,d);
          v[a,b]:=d;
     end;
     while v[x,y]=0 do
     begin
          for i:=1 to n do
              for j:=i+1 to n do
              begin
                   if v[i,j]<>0 then
                   begin
                        for g:=1 to i-1 do
                        begin
                             if v[g,i]>0 then
                             begin
                                  if g>j then v[g,j]:=v[i,j]-v[g,i];
                                  if g<j then v[g,j]:=v[i,j]+v[g,i];
                             end;
                        end;
                        for g:=1 to j-1 do
                        begin
                             if v[g,j]>0 then
                             begin
                                  if g>i then v[i,g]:=v[i,j]-v[g,j];
                                  if g<i then v[i,g]:=v[i,j]+v[g,j];
                             end;
                        end;
                   end;
              end;
     end;
     writeln(f2,v[x,y]);
     close(f1);
     close(f2);
end.