Cod sursa(job #2806394)

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

using namespace std;

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

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

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

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

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

    for (int 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 (int i = 1; i <= m; i++)
    {
        int aux = cmmdc(v[x[i]],v[y[i]] );
        if (aux != a[i])
        {
            g << "-1";
            return 0;
        }
    }

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