Pagini recente » Cod sursa (job #942556) | Istoria paginii utilizator/elena.mirica | Monitorul de evaluare | Istoria paginii utilizator/rynyos | Cod sursa (job #165940)
Cod sursa(job #165940)
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;
x:int64;
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;
x:=v[i]*d;
if x>2000000000 then
begin
writeln(g,'-1');
close(g);
halt;
end
else
v[i]:=x div cmmdc(v[i],d);
x:=v[j]*d;
if x>2000000000 then begin
writeln(g,'-1');
close(g);
halt;
end
else
v[j]:=x div cmmdc(v[j],d);
end;
q:=true;
for i:=1 to m do
if cmmdc(v[a[i].i],v[a[i].j])<>a[i].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.