Pagini recente » Borderou de evaluare (job #1189964) | Cod sursa (job #165262)
Cod sursa(job #165262)
var f:text;
c1,c2,N,M,i,j,d,k:longint;
A:array[1..10000] of LongInt;
ok:boolean;
Mat:array[1..100000] of record
i,j,d:integer;
end;
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);
Mat[k].i:=i;
Mat[k].j:=j;
Mat[k].d:=d;
A[i]:=cmmdc(A[i],d);
A[j]:=cmmdc(A[j],d);
end;
close(f);
assign(f,'oz.out'); rewrite(f);
ok:=True;
For i:=1 To M do
if cmmdc(A[Mat[i].i],A[Mat[i].j])<>Mat[i].d then begin
ok:=False;
break;
end;
if Not 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.