Pagini recente » Istoria paginii utilizator/wildchild | Istoria paginii utilizator/razanalexrotaru | Cod sursa (job #261792) | Statistici Andrei Hagi (haginus) | Cod sursa (job #273506)
Cod sursa(job #273506)
#include <stdio.h>
int n,m,sir[100000];
int a,b,d,r,ok;
int cmmdc(int a,int b)
{
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int main ()
{
freopen ("oz.in","r",stdin);
freopen ("oz.out","w",stdout);
scanf ("%d %d",&n,&m);
for (int i=0;i<=n;i++)
sir[i]=1;
int x,x1,x2;
while (m)
{
m--;
scanf ("%d %d %d",&a,&b,&d);
x=cmmdc(sir[a],sir[b]);
x1=d/cmmdc(d,sir[a]);
sir[a]*=x1;
x2=d/cmmdc(d,sir[b]);
sir[b]*=x2;
if (cmmdc(sir[a],sir[b])!=d)
{
ok=1;
break;
}
if (sir[a]>2000000000)
{
ok=1;
break;
}
if (sir[b]>2000000000)
{
ok=1;
break;
}
}
if (ok==1)
printf("-1");
else
for (int i=1;i<=n;i++)
printf("%d ",sir[i]);
printf("\n");
return 0;
}