Pagini recente » Cod sursa (job #2619186) | Cod sursa (job #590818) | Cod sursa (job #1810551) | Cod sursa (job #439910) | Cod sursa (job #273510)
Cod sursa(job #273510)
#include <stdio.h>
long n,m,sir[100000];
long a,b,d,r,ok;
long cmmdc(long a,long 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 (long i=0;i<=n;i++)
sir[i]=1;
long 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 (long i=1;i<=n;i++)
printf("%d ",sir[i]);
printf("\n");
return 0;
}