Pagini recente » Cod sursa (job #2465959) | Cod sursa (job #1526227) | Cod sursa (job #3262691) | Cod sursa (job #2807251) | Cod sursa (job #487135)
Cod sursa(job #487135)
#include<cstdio>
const int N=10005;
const int M=100005;
int n,m,a[N],x[M],y[M],d[M];
void init()
{
for (int i=1;i<=n;++i)
a[i]=1;
}
void afis()
{
for (int i=1;i<=n;++i)
printf("%d ",a[i]);
printf("\n");
}
int cmmdc(int a,int b)
{
int r;
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);
init();
for (int i=1;i<=m;++i)
{
scanf("%d%d%d",&x[i],&y[i],&d[i]);
a[x[i]]*=d[i];
a[y[i]]*=d[i];
}
int cmm,xx;
for (int i=1;i<=m;++i)
{
cmm=cmmdc(a[x[i]],a[y[i]]);
if (cmm!=d[i] && cmm%d[i]==0)
{
xx=cmm/d[i];
a[x[i]]/=xx;
a[y[i]]/=xx;
}
else
if (cmm%d[i]!=0)
{
printf("-1\n");
return 0;
}
}
afis();
return 0;
}