Cod sursa(job #1292624)

Utilizator cojocarugabiReality cojocarugabi Data 14 decembrie 2014 15:52:33
Problema Oz Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
# include <bits/stdc++.h>
using namespace std;
ifstream fi("oz.in");
ofstream fo("oz.out");
const int nmax =100005;
int s[nmax];
int x[nmax],y[nmax],z[nmax];
int cmmdc(int x,int y)
{
    return (!y ? x : cmmdc(y,x%y));
}
int main(void)
{
    int n,m;
    fi>>n>>m;
    for (int i=1;i<=n;++i) s[i]=1;
    for (int i=1;i<=m;++i)
    {
        fi >> x[i] >> y[i] >> z[i];
        s[x[i]]=(s[x[i]]*z[i])/cmmdc(s[x[i]],z[i]);
        s[y[i]]=(s[y[i]]*z[i])/cmmdc(s[y[i]],z[i]);
    }
    for (int i=1;i<=m;++i) if (cmmdc(s[x[i]],s[y[i]]) != z[i]) return fo << "-1\n",0;
    for (int i=1;i<=n;++i) fo << s[i] << ' ';
    return fo << '\n',0;
}