Cod sursa(job #2011104)

Utilizator refugiatBoni Daniel Stefan refugiat Data 15 august 2017 09:45:47
Problema Oz Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream si("oz.in");
ofstream so("oz.out");
int gcd(int a,int b)
{
    if (b==0)
        return a;
    else
        return gcd(b,a%b);
}

int g[10005];
int a[100005],b[100005],d[100005];

int main()
{
    int n,m;
    si>>n>>m;
    for(int i=1;i<=n;i++)
        g[i]=1;
    for(int i=1;i<=m;i++)
    {
        si>>a[i]>>b[i]>>d[i];
        g[a[i]]=g[a[i]]/gcd(g[a[i]],d[i])*d[i];
        g[b[i]]=g[b[i]]/gcd(g[b[i]],d[i])*d[i];
    }

    for(int i=1;i<=m;i++)
        if(gcd(g[a[i]],g[b[i]])!=d[i])
        {
            so<<-1;
            return 0;
        }
    for(int i=1;i<=n;i++)
    {
        so<<g[i]<<' ';
    }
    return 0;
}