Cod sursa(job #2486379)

Utilizator DysKodeTurturica Razvan DysKode Data 2 noiembrie 2019 19:43:34
Problema Oz Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <bits/stdc++.h>

using namespace std;

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

long long int n, m, v[10010];
pair< pair<long long, long long> , long long > q[100010];

#define f first
#define s second

int main()
{
    fin >> n >> m;
    for(int i = 1 ; i <= n ; i++)
    {
        v[i] = 1;
    }
    for(int i = 1 ; i <= m ; i++)
    {
        fin >> q[i].f.f >> q[i].f.s >> q[i].s;
        v[q[i].f.f] = (v[q[i].f.f]*1ll*q[i].s) / __gcd( v[q[i].f.f], q[i].s );
        v[q[i].f.s] = (v[q[i].f.s]*1ll*q[i].s) / __gcd( v[q[i].f.s], q[i].s );
    }
    for(int i = 1 ; i <= m ; i++)
    {
        if( __gcd( v[q[i].f.f], v[q[i].f.s] ) != q[i].s )
        {
            fout << -1;
            return 0;
        }
    }
    for(int  i = 1 ; i <= n ; i++)
    {
        fout << v[i] << ' ';
    }

    return 0;
}