Pagini recente » Cod sursa (job #1538790) | Cod sursa (job #389303) | Cod sursa (job #1261492) | Cod sursa (job #935765) | Cod sursa (job #779392)
Cod sursa(job #779392)
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;
#define ll long long
ll A[100010], B[100010], C[100010], N, M;
ll V[10010];
ll cmmdc(ll a, ll b)
{
if(!b) return a;
else return cmmdc(b, a % b);
}
ll cmmmc(ll a, ll b)
{
return (a * b) / cmmdc(a, b);
}
int main()
{
freopen("oz.in", "r", stdin);
freopen("oz.out", "w", stdout);
int i;
scanf("%lld %lld", &N, &M);
for(i = 1; i <= N; i++) V[i] = 1;
for(i = 1; i <= M; i++)
{
scanf("%lld %lld %lld", &A[i], &B[i], &C[i]);
V[A[i]] = cmmmc(V[A[i]], C[i]);
V[B[i]] = cmmmc(V[B[i]], C[i]);
}
bool ok = false;
for(i = 1; i <= M && !ok; i++)
if(cmmdc(V[A[i]], V[B[i]]) != C[i])
ok = true;
if(ok) printf("-1\n");
else for(i = 1; i <= N; i++) printf("%lld ", V[i]);
return 0;
}