Cod sursa(job #2837017)

Utilizator stefandutastefandutahoria stefanduta Data 21 ianuarie 2022 15:30:23
Problema Oz Scor 75
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#include <cstring>
#define NMAX 10005
#define MAX 2000000000

using namespace std;
ifstream in("oz.in");
ofstream out("oz.out");

long long v[NMAX];

long long cmmdc(long long a, long long b)
{
    while (b)
    {
        long long r = a % b;
        a = b;
        b = r;
    }
    return a;
}

long long cmmmc(long long a, long long b)
{
    return a * b / cmmdc(a, b);
}

int main()
{
    long long n, m, x, y, a, i, j;
    bool ok = true;
    in >> n >> m;
    for (i = 1; i <= NMAX; ++i)
        v[i] = 1;

    for (i = 1; i <= m; ++i)
    {
        in >> x >> y >> a;
        v[x] = cmmmc(v[x], a);
        v[y] = cmmmc(v[y], a);
        if (v[x] > MAX || v[y] > MAX)
            ok = false;
    }

    if (ok == false)
        out << -1;
    else
    {
        for (i = 1; i <= n; ++i)
        {
            out << v[i] << " ";
        }
    }
    return 0;
}