Cod sursa(job #2807449)

Utilizator biancalautaruBianca Lautaru biancalautaru Data 23 noiembrie 2021 20:08:15
Problema Oz Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#define DIM 10001
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
long long n,m,i,j,c,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<=10000;i++)
        v[i]=1;
    for (i=1;i<=m;i++) {
        fin>>x[i]>>y[i]>>d[i];
        c=d[i]/cmmdc(v[x[i]],v[y[i]]);
        v[x[i]]*=c;
        v[y[i]]*=c;
    }
    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;
}