Cod sursa(job #165926)

Utilizator valytgjiu91stancu vlad valytgjiu91 Data 27 martie 2008 09:53:34
Problema Oz Scor 40
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.32 kb
var f,g:text;   
v:array[1..10000]of longint;   
a:array[1..100000]of record  
                       i,j,d:integer;   
                       end;   
i1,n:integer;   
q:boolean;   
d1,d2,l,i,j,d,m:longint;   
function cmmdc(x,y:longint):longint;   
var r:longint;   
begin  
r:=x mod y;   
while r<>0 do begin  
              x:=y;   
              y:=r;   
              r:=x mod y;   
              end;   
if y=1 then cmmdc:=1  
       else cmmdc:=y;   
end;   
begin  
assign(f,'oz.in');   
reset(f);   
readln(f,n,m);   
assign(g,'oz.out');   
rewrite(g);   
for i:=1 to n do  
  v[i]:=1;   
for l:=1 to m do  
  begin  
    readln(f,i,j,d);   
    a[l].i:=i;   
    a[l].j:=j;   
    a[l].d:=d;   
    v[i]:=(v[i]*d)div cmmdc(v[i],d);   
    v[j]:=(v[j]*d)div cmmdc(v[j],d);   
   { if (v[i]>2000000000)or (v[j]>2000000000)then  begin  
                                              writeln(g,'-1');  
                                              close(g);  
                                              halt;  
                                              end;}  
  end;   
q:=true;   
for i:=1 to m do  
if cmmdc(v[a[l].i],v[a[l].j])<>d then begin q:=false; break;end;
if q then  
begin  
for i:=1 to n do  
 write(g,v[i],' ');   
end  
else writeln(g,'-1');   
close(g);   
end.