Cod sursa(job #3341897)

Utilizator RuxandraPro12_Metehau Ruxandra Maria RuxandraPro12_ Data 21 februarie 2026 14:59:17
Problema Oz Scor 35
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin ("oz.in");
ofstream fout ("oz.out");

const int N_MAX = 10005;

int n, m, v[N_MAX];

struct triplet {
    int x, y, z;
}w[N_MAX * 2];

int gcd (int a, int b) {
    while (b != 0) {
        a %= b;
        swap(a, b);
    }
    return a;
}

int main() {
    fin >> n >> m;
    for (int i = 1; i <= n; i++) v[i] = 1;
    for (int i = 1; i <= m; i++) {
        fin >> w[i].x >> w[i].y >> w[i].z;
        v[w[i].x] = v[w[i].x] / gcd(v[w[i].x], w[i].z) * w[i].z;
        v[w[i].y] = v[w[i].y] / gcd(v[w[i].y], w[i].z) * w[i].z;
    }
    for (int i = 1; i <= m; i++) {
        if (w[i].z != gcd(v[w[i].x], v[w[i].y])) {
            fout << "-1\n";
            return 0;
        }
    }
    for (int i = 1; i <= n; i++) fout << v[i] << " ";
    return 0;
}