Pagini recente » Cod sursa (job #1136617) | Cod sursa (job #108718) | Cod sursa (job #1054025) | Cod sursa (job #2956508) | Cod sursa (job #163568)
Cod sursa(job #163568)
type operation=record
i,j,d:longint;
end;
var a:array[1..10000] of longint;
o:array[1..100000] of operation;
int:double;
r,i,j,n,m,x,y:longint;
ok:boolean;
f,g:text;
begin
assign(f,'oz.in');
assign(g,'oz.out');
reset(f);
rewrite(g);
read(f,n,m);
for i:=1 to n do
a[i]:=1;
for i:=1 to m do begin
read(f,o[i].i,o[i].j,o[i].d);
x:=a[o[i].i];
y:=o[i].d;
while y<>0 do begin
r:= x mod y;
x:=y;
y:=r;
end;
int:=a[o[i].i]/x*o[i].d;
a[o[i].i]:=round(int);
x:=a[o[i].j];
y:=o[i].d;
while y<>0 do begin
r:= x mod y;
x:=y;
y:=r;
end;
int:=a[o[i].j]/x*o[i].d;
a[o[i].j]:=round(int);
end;
ok:=true;
for i:=1 to m do begin
x:=a[o[i].i] div o[i].d;
y:=a[o[i].j] div o[i].d;
while y<>0 do begin
r:= x mod y;
x:=y;
y:=r;
end;
if x<>1 then begin
ok:=false;
break;
end;
end;
if not ok then
writeln(g,-1)
else begin
for i:=1 to n do
write(g,a[i],' ');
writeln(g);
end;
close(f);
close(g);
end.