Pagini recente » Cod sursa (job #964687) | Cod sursa (job #3127016) | Cod sursa (job #1741537) | Cod sursa (job #193283) | Cod sursa (job #779389)
Cod sursa(job #779389)
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;
int A[100010], B[100010], C[100010], V[10010], N, M;
int cmmdc(int a, int b)
{
if(!b) return a;
else return cmmdc(b, a % b);
}
int cmmmc(int a, int b)
{
return (a * b) / cmmdc(a, b);
}
int main()
{
freopen("oz.in", "r", stdin);
freopen("oz.out", "w", stdout);
int i;
scanf("%i %i", &N, &M);
for(i = 1; i <= N; i++) V[i] = 1;
for(i = 1; i <= M; i++)
{
scanf("%i %i %i", &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("%i ", V[i]);
return 0;
}