Cod sursa(job #2656634)

Utilizator Diana_IonitaIonita Diana Diana_Ionita Data 8 octombrie 2020 09:59:37
Problema Oz Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
long long n,m,d,a,b,ok,q,i;
long long v[10005],nr1[10005],nr2[10005],dd[10005];
int main()
{
    fin>>n>>m;
    for(i=1; i<=m; i++)
    {
        fin>>nr1[i]>>nr2[i]>>dd[i];
        a=nr1[i];
        b=nr2[i];
        d=dd[i];
        if(v[a]==0)
        {
            v[a]=1;
            ok++;
        }
        if(v[b]==0)
        {
            v[b]=1;
            ok++;
        }
        q=__gcd(d,v[a]);
        if(v[a]%d)   v[a]=1LL*(d*v[a])/q;
        q=__gcd(d,v[b]);
        if(v[b]%d)   v[b]=1LL*(v[b]*d)/q;
    }
    for(i=1; i<=n; i++)
    {
        if(v[i]>2000000000&&v[i]>0)break;
        if(__gcd(v[nr1[i]],v[nr2[i]])!=dd[i])break;
    }
    if(i>n)
    {
        for(i=1; i<=n; i++)
            fout<<v[i]<< " ";
    }
    else fout<<-1;
    return 0;
}