Pagini recente » Cod sursa (job #714529) | Cod sursa (job #2829924) | Cod sursa (job #392918) | Cod sursa (job #295212) | Cod sursa (job #1413766)
# include <cstdio>
# define MAX 2000000000
# define MAXn 10005
# define MAXm 100005
using namespace std;
int cmmdc (int a, int b)
{
int r;
r = a % b;
while (r)
{
a = b;
b = r;
r = a % b;
}
return b;
}
int n, k, i;
long long a[MAXn],I[MAXm],J[MAXm],d[MAXm];
int main ()
{
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
scanf("%d %d\n",&n, &k);
for (i = 1; i <= n; i++)
a[i] = 1;
for (i = 1; i <= k; i++)
{
scanf("%lld %lld %lld\n", &I[i], &J[i], &d[i]);
a[I[i]] = 1LL * a[I[i]] * (d[i] / cmmdc (d[i], a[I[i]]));
a[J[i]] = 1LL * a[J[i]] * (d[i] / cmmdc (d[i], a[J[i]]));
}
bool ok = true;
for (i = 1; i <= k; i++)
if (d[i] != cmmdc (a[I[i]], a[J[i]]) || a[i] > MAX)
{
printf("-1");
ok = false;
break;
}
if (ok == true)
for (i = 1; i <= n; i++)
printf("%lld ", a[i]);
return 0;
}