Cod sursa(job #165281)

Utilizator eugen.nodeaEugen Nodea eugen.nodea Data 25 martie 2008 19:57:43
Problema Oz Scor 40
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.23 kb
var f:text;   
    c1,c2,N,M,i,j,d,k:longint;   
    A:array[1..10000] of LongInt;   
    x,y:real;   
    ok:boolean;   
Function cmmdc(x,y:longint):longint;   
var r:longint;   
begin  
     repeat  
           r:=x Mod y;   
           x:=y;   
           y:=r;   
     until r=0;   
     cmmdc:=x;   
end;   
Begin   
     assign(f,'oz.in'); reset(f);   
     Readln(f,N,M);   
     For k:=1 To N do  
         A[k]:=1;   
     ok:=False;   
     For k:=1 To M do  
     begin  
          Readln(f,i,j,d);   
          c1:=cmmdc(A[i],d);   
          c2:=cmmdc(A[j],d);   
          x:=A[i]*d Div c1;   
          y:=A[j]*d Div c2;   
          if (x>2000000) Or (y>2000000) then begin  
                                ok:=True; break;   
                            end  
                           else begin  
                                     A[i]:=Trunc(x);   
                                     A[j]:=Trunc(y);   
                                end;   
     end;   
     close(f);   
     assign(f,'oz.out'); rewrite(f);
     if ok then write(f,'-1')
           else begin
               For i:=1 To N-1 do
                   write(f,A[i],' '); write(f,A[N]);
           end;
     close(f);
End.