Pagini recente » Cod sursa (job #1634386) | Cod sursa (job #1969809) | Cod sursa (job #1267034) | Cod sursa (job #1225243) | Cod sursa (job #164658)
Cod sursa(job #164658)
#include <stdio.h>
int N, M, v[10005], X[100005], Y[100005], D[100005];
int gcd(int a, int b)
{ return (b == 0 ? a : gcd(b, a % b)); }
int main(void)
{
int i;
freopen("oz.in", "r", stdin);
freopen("oz.out", "w", stdout);
scanf("%d %d", &N, &M);
for (i = 1; i <= N; ++i)
v[i] = 1;
for (i = 1; i <= M; ++i)
{
scanf("%d %d %d", &X[i], &Y[i], &D[i]);
v[X[i]] = v[X[i]] * (D[i]/gcd(v[X[i]], D[i]));
v[Y[i]] = v[Y[i]] * (D[i]/gcd(v[Y[i]], D[i]));
}
for (i = 1; i <= M; ++i)
if (gcd(v[X[i]], v[Y[i]]) != D[i])
{
printf("-1\n");
return 0;
}
for (i = 1; i <= N; ++i)
printf("%d ", v[i]);
return 0;
}