Cod sursa(job #2806706)

Utilizator Edyci123Bicu Codrut Eduard Edyci123 Data 22 noiembrie 2021 22:04:32
Problema Oz Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <bits/stdc++.h>
#define DIM 10005

using namespace std;

ifstream f("oz.in");
ofstream g("oz.out");

long long n, m, x[DIM * 10], y[DIM * 10], a[DIM * 10];
vector<long long> v(DIM, 1);

long long cmmdc(long long x, long long y)
{
    if (y == 0)
        return x;
    return cmmdc(y, x % y);
}

long long cmmmc(long long x, long long y)
{
    long long aux = cmmdc(x, y);
    return (x * y) / aux;
}

int main()
{
    f >> n >> m;

    for (long long i = 1; i <= m; i++)
    {
        f >> x[i] >> y[i] >> a[i];
        v[x[i]] = cmmmc(v[x[i]], a[i]);
        v[y[i]] = cmmmc(v[y[i]], a[i]);
    }

    for (long long i = 1; i <= m; i++)
    {
        long long aux = cmmdc(v[x[i]],v[y[i]] );
        if (aux != a[i])
        {
            g << "-1";
            return 0;
        }
    }

    for (long long i = 1; i <= n; i++)
    {
        g << v[i] << " ";
    }
    return 0;
}