Cod sursa(job #3239592)

Utilizator Dia3141Costea Diana Stefania Dia3141 Data 6 august 2024 19:34:07
Problema Oz Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#define nmax 10001
#define inf 2000000000
using namespace std;
ifstream cin("oz.in");
ofstream cout("oz.out");
int n,m,a,b,d;
unsigned long long v[nmax];
bool ok;
unsigned long long cmmdc(int a,int b){
    int r;
    while(b!=0){
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}
int main()
{
    cin>>n>>m;
    ok=1;
    for(int i=1;i<=n;i++)
        v[i]=1;
    for(int i=1;i<=m&&ok;i++){
        cin>>a>>b>>d;
        v[a]=1ULL*v[a]*d/cmmdc(v[a],d);
        v[b]=1ULL*v[b]*d/cmmdc(v[b],d);
        if(v[a]>inf||v[b]>inf||cmmdc(v[a],v[b])!=d)
            ok=0;
    }
    if(!ok){
        cout<<-1;
        return 0;
    }
    for(int i=1;i<=n;i++)
        cout<<v[i]<<" ";
    return 0;
}