Cod sursa(job #67642)

Utilizator maria_pparcalabescu maria daniela maria_p Data 25 iunie 2007 12:57:07
Problema Sate Scor 15
Compilator fpc Status done
Runda preONI 2007, Runda Finala, Clasa a 10-a Marime 0.78 kb
var f,g:text;
    v,k,l,a:array[-1..30000]of longint;
    i,m,n,x,y,aux:longint;

begin
assign(f,'sate.in');reset(f);
assign(g,'sate.out');rewrite(g);
readln(f,n,m,x,y);
for i:=1 to m do
    begin
    readln(f,k[i],l[i],a[i]);
    if k[i]>l[i] then begin
                      aux:=k[i];
                      k[i]:=l[i];
                      l[i]:=aux;
                      end;
    end;
if x=1 then begin
            x:=-1;
            v[-1]:=2;
            end;
v[1]:=0;
while (v[x]=0)or(v[y]=0) do
      for i:=1 to m do
          if v[k[i]]<>0 then v[l[i]]:=v[k[i]]+a[i]
          else if v[l[i]]<>0 then v[k[i]]:=v[l[i]]-a[i]
          else if k[i]=1 then v[l[i]]:=a[i];
if x=-1 then writeln(g,v[y])
       else writeln(g,v[y]-v[x]);
close(f);
close(g);
end.