Cod sursa(job #3244897)

Utilizator answarIonascu Andrei answar Data 26 septembrie 2024 19:09:30
Problema Oz Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
using namespace std;
ifstream cin("oz.in");
ofstream cout("oz.out");
int n,i,j,e,f,m,aux;
int v[10010],a[100010],b[100010],d[100010];
int main () {
    cin>>n>>m;
    for (i=1;i<=n;i++) {
        v[i]=1;
    }
    for (i=1;i<=m;i++) {
        cin>>a[i]>>b[i]>>d[i];
        e=v[a[i]];
        f=d[i];
        while (f!=0) {
            aux=e%f;
            e=f;
            f=aux;
        }
        v[a[i]]=v[a[i]]/e*d[i];
        e=v[b[i]];
        f=d[i];
        while (f!=0) {
            aux=e%f;
            e=f;
            f=aux;
        }
        v[b[i]]=v[b[i]]/e*d[i];
    }
    for (i=1;i<=m;i++) {
        e=v[a[i]];
        f=v[b[i]];
        while (f!=0) {
            aux=e%f;
            e=f;
            f=aux;
        }
        if (e!=d[i]) {
            cout<<"-1";
            return 0;
        }
    }
    for (i=1;i<=n;i++) {
        cout<<v[i]<<" ";
    }
}