Cod sursa(job #3360975)

Utilizator IzabelaJePloscaru Maria Izabela IzabelaJe Data 18 iulie 2026 08:34:11
Problema Oz Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream>
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
int n,perechi;
long long v[10000];
struct triplet{
    int x,y;
    long long d;
};
triplet a[100001];
long long cmmdc(int a,int b){
    long long r;
    while(b!=0){
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}
long long cmmmc(int a,int b){
    return a/cmmdc(a,b)*b;
}
int main()
{
    fin>>n>>perechi;
    for(int i=1;i<=n;i++)
        v[i]=1;
    for(int i=1;i<=perechi;i++){
        fin>>a[i].x>>a[i].y>>a[i].d;
        int aux=a[i].x;
        v[aux]=cmmmc(v[aux],a[i].d);
        aux=a[i].y;
        v[aux]=cmmmc(v[aux],a[i].d);
    }
    for(int i=1;i<=perechi;i++){
        int x=a[i].x, y=a[i].y;
        if(cmmdc(v[x],v[y])!=a[i].d){
            fout<<-1;
            return 0;
        }
    }
    for(int i=1;i<=n;i++)
        fout<<v[i]<<" ";
    return 0;
}