Cod sursa(job #3239318)

Utilizator nicushor21Pirlog Marian Nicolae nicushor21 Data 4 august 2024 14:39:04
Problema Oz Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
int n,m,i,j,x,y,d,sol[10001];
struct haha{
    int x,y,d;
}v[100001];
int cmmdc(int a,int b){
    int r;
    while(b!=0){
        r = a%b;
        a = b;
        b = r;
    }
    return a;
}
int main()
{
    fin>>n>>m;
    for(i=1;i<=m;i++)
        fin>>v[i].x>>v[i].y>>v[i].d;
    for(i=0;i<=n;i++)   sol[i]=1;
    for(i=1;i<=m;i++){
        sol[v[i].x] *= v[i].d / cmmdc(v[i].d,sol[v[i].x]);
        sol[v[i].y] *= v[i].d / cmmdc(v[i].d,sol[v[i].y]);
    }
    for(i=1;i<=m;i++){
        if(cmmdc(sol[v[i].x],sol[v[i].y]) != v[i].d){
            fout<<-1;
            return 0;
        }
    }
    for(i=1;i<=n;i++)
        fout<<sol[i]<<' ';
    return 0;
}