Cod sursa(job #164479)

Utilizator th3whu2Breta Ionut th3whu2 Data 24 martie 2008 12:01:40
Problema Oz Scor 35
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.93 kb
var f,g:text;
n,m,i,t,z,r:longint;
a,x,y,d:array[1..10000] of int64;
h:boolean;
begin
assign(f,'oz.in');reset(f);
assign(g,'oz.out');rewrite(g);
read(f,n,m);
for i:=1 to n do
 a[i]:=1;
for i:=1 to m do
 begin
  read(f,x[i],y[i],d[i]);
  t:=a[x[i]];
  z:=d[i];
  r:=t mod z;
  while r>0 do
   begin
    t:=z;
    z:=r;
    r:=t mod z;
   end;
  a[x[i]]:=a[x[i]]*(d[i] div z);
  t:=a[y[i]];
  z:=d[i];
  r:=t mod z;
  while r>0 do
   begin
    t:=z;
    z:=r;
    r:=t mod z;
   end;
  a[y[i]]:=a[y[i]]*(d[i] div z);
 end;
h:=true;
for i:=1 to m do
 begin
  t:=a[x[i]];
  z:=a[y[i]];
  if (t>2000000000) or (z>2000000000) then h:=false;
  r:=t mod z;
  while r>0 do
   begin
    t:=z;
    z:=r;
    r:=t mod z;
  end;
  if z<>d[i] then h:=false;
 end;
if not(h) then write(g,-1)
else
 begin
  for i:=1 to n do
   if i=n then write(g,a[i])
   else write(g,a[i],' ');
 end;
close(f);
close(g);
end.