Cod sursa(job #312431)

Utilizator m123pop manu m123 Data 5 mai 2009 23:10:13
Problema Oz Scor 55
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.85 kb
program oz;
var f,g:text;
   v:array[1..10000] of longint;
  n,m,k,a,b,d,i,j,cmmdc,ok:longint;
procedure euclid(a,b:longint; var cmmdc:longint);
   var r,aux:longint;
   begin
  if a<b then begin aux:=a;a:=b;b:=aux;end;
   r:=a mod b;
   while r<>0 do
    begin a:=b;b:=r; r:=a mod b; end;
  cmmdc:=b;
  end;
begin
assign(f,'oz.in');reset(f);
assign(g,'oz.out');rewrite(g);
readln(f,n,m);
for i:=1 to n do v[i]:=1;
for k:=1 to m do
  begin
  readln(f,i,j,d);
  euclid(v[i],d,cmmdc);
  v[i]:=v[i]*d div cmmdc;
  euclid(v[j],d,cmmdc);
  v[j]:=v[j]*d div cmmdc;
  end;
close(f);
reset(f);
readln(f,n,m);
ok:=0;
for k:=1 to m do
 begin
 readln(f,i,j,d);
 euclid(v[i],v[j],cmmdc);
 if cmmdc<>d then begin ok:=1; break;end;
 end;
if ok=0 then for i:=1 to n do write(g,v[i],' ')
         else write(g,-1);
close (f);close(g);
end.
 radln(