Cod sursa(job #2753523)

Utilizator answarIonascu Andrei answar Data 23 mai 2021 10:55:17
Problema Oz Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
using namespace std;
int n,i,m,aux,j,k,a1,a2;
int v[10001],a[100001],b[100001],d[100001];
ifstream cin("oz.in");
ofstream cout("oz.out");
int cmmmc(int a, int b) {
    int x=a;
    int z=b;
    while (b!=0) {
        aux=a%b;
        a=b;
        b=aux;
    }
    return x/a*z;
}
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];
        v[a[i]]=cmmmc(v[a[i]],d[i]);
        v[b[i]]=cmmmc(v[b[i]],d[i]);
    }
    for (i=1;i<=m;i++) {
        a1=v[a[i]];
        a2=v[b[i]];
        while (a2!=0) {
            aux=a1%a2;
            a1=a2;
            a2=aux;
        }
        if (a1!=d[i]) {
            cout<<"-1";
            return 0;
        }
    }
    for (i=1;i<=n;i++) {
        cout<<v[i]<<" ";
    }
}