Cod sursa(job #2512803)

Utilizator BriannaBrianna Stan Brianna Data 21 decembrie 2019 17:52:13
Problema Oz Scor 65
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <fstream>

using namespace std;
ifstream in("oz.in");
ofstream out("oz.out");
long long cmmmc(int a,int b)
{
    long long cmmdc,r,aux,bux,cmmmc;
    aux=a;
    bux=b;
    while(b!=0)
    {
        r=a%b;
        a=b;
        b=r;
    }
    cmmdc=a;
    cmmmc=(aux*bux)/cmmdc;
    return cmmmc;
}
int main()
{
    long long n,m,ok=1;
    static long long v[10002],i[100002],j[100002],d[100002];
    in>>n>>m;
    for(int p=1;p<=n;p++)
    {
        v[p]=1;
    }
    for(int k=1;k<=m;k++)
    {
        in>>i[k]>>j[k]>>d[k];
        if(v[i[k]]%d[k]!=0)
        {
            v[i[k]]=cmmmc(v[i[k]],d[k]);
        }
        if(v[j[k]]%d[k]!=0)
        {
            v[j[k]]=cmmmc(v[j[k]],d[k]);
        }
    }
    for(int k=1;k<=m;k++)
    {
        if(v[i[k]]%d[k]!=0 || v[j[k]]%d[k]!=0 || v[i[k]]>=2000000000 || v[j[k]]>=2000000000)
        {
            ok=0;
            break;
        }
    }
    if(ok!=0)
    {
        for(int k=1;k<=n;k++)
            out<<v[k]<<" ";
    }
    else
        out<<"-1";
    return 0;
}