Pagini recente » Cod sursa (job #2420581) | Cod sursa (job #2424361) | Cod sursa (job #3251557) | Cod sursa (job #2604971) | Cod sursa (job #3180962)
#include <bits/stdc++.h>
using namespace std;
int cmmdc(int q, int p)
{
int x = q;
int y = p;
if(x < y)
{
swap(x, y);
}
while(y != 0)
{
int rest = x % y;
x = y;
y = rest;
}
return x;
}
int cmmmc(int q, int p)
{
int x = q;
int y = p;
int k = x * y / cmmdc(x, y);
return k;
}
int main()
{
int n, m, v[100001], a[100001], b[100001], c[100001], i, q, p;
ifstream fin("oz.in");
ofstream fout("oz.out");
fin >> n >> m;
for(i = 1; i <= n; i ++)
{
v[i] = 1;
}
for(i = 1; i <= m; i ++)
{
fin >> a[i] >> b[i] >> c[i];
v[a[i]] = cmmmc(v[a[i]], c[i]);
v[b[i]] = cmmmc(v[b[i]], c[i]);
}
for(i = 1; i <= n; i ++)
{
if(cmmdc(v[a[i]], v[b[i]]) != c[i])
{
fout << "-1";
return 0;
}
}
for(i = 1; i <= n; i ++)
{
fout << v[i] << " ";
}
return 0;
}