Cod sursa(job #2807463)

Utilizator biancalautaruBianca Lautaru biancalautaru Data 23 noiembrie 2021 20:25:41
Problema Oz Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#define DIM 100001
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
long long n,m,i,v[DIM],x[DIM],y[DIM],d[DIM];

long long cmmdc(long long x,long long y) {
    while (y!=0) {
        long long r=x%y;
        x=y;
        y=r;
    }
    return x;
}

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