Cod sursa(job #3239474)

Utilizator MrPuzzleDespa Fabian Stefan MrPuzzle Data 5 august 2024 18:24:19
Problema Oz Scor 35
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <bits/stdc++.h>

#define DIM 10000

#define twobil 2000000000

#define int long long

using namespace std;

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

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

int n,m;
int v[DIM+5];
int a[DIM+5];
int b[DIM+5];
int d[DIM+5];

int cmmdc(int a,int b){
    return __gcd(a,b);
}

int cmmmc(int a,int b){

    return 1ll*a*b/cmmdc(a,b);

}


signed main()
{

    f>>n>>m;

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

    for(int i=1;i<=m;i++){
        f>>a[i]>>b[i]>>d[i];
    }

    for(int i=1;i<=m;i++){
        v[a[i]] = cmmmc(v[a[i]],d[i]);
        v[b[i]] = cmmmc(v[b[i]],d[i]);

        if(v[a[i]] > twobil){
            g<<-1;
            return 0;
        }
        if(v[b[i]] > twobil){
            g<<-1;
            return 0;
        }
    }

    for(int i=1;i<=m;i++){
        if(cmmdc(v[a[i]],v[b[i]]) != d[i]){
            g<<-1;
            return 0;
        }
    }

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


    return 0;
}