Pagini recente » Cod sursa (job #2973885) | Cod sursa (job #2772391) | Cod sursa (job #3227712) | Cod sursa (job #1541164) | Cod sursa (job #163838)
Cod sursa(job #163838)
#include <stdio.h>
int n, m, v[10005];
int cmmdc(int x, int y)
{
if (!y) return x;
else return cmmdc(y, x % y);
}
int main()
{
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
scanf("%d %d", &n, &m);
int i, a, b, d, p, q, x, y;
for (i = 1; i <= n; i++) v[i] = 1;
for (i = 1; i <= m; i++)
{
scanf("%d %d %d",&a,&b,&d);
p = cmmdc(v[a],v[b]);
if (d >= p) q = d / p;
else q = p / d;
x = q;
if (cmmdc(v[a],q) == 1) v[a] *= x;
else if (v[a] >= x) v[a] *= (v[a] / x);
else v[a] *= (x / v[a]);
if (cmmdc(v[b],q) == 1) v[b] *= x;
else if (v[b] >= x) v[b] *= (v[b] / x);
else v[b] *= (x / v[b]);
}
for (i = 1; i <= n; i++) printf("%d ",v[i]);
return 0;
}