Cod sursa(job #1156631)

Utilizator sebinechitasebi nechita sebinechita Data 27 martie 2014 20:15:18
Problema Oz Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
#define MAX 10100
int cmmdc(int a, int b)
{
    if(!b)
        return a;
    return cmmdc(b, a%b);
}

int cmmmc(int a, int b)
{
    return a*b/cmmdc(a, b);
}

int a[MAX], x[MAX], y[MAX], d[MAX];

int main()
{
    int n, m, i;
    fin>>n>>m;
    for(i=1;i<=m;i++)
    {
        fin>>x[i]>>y[i]>>d[i];
        a[x[i]]=max(1, a[x[i]]);
        a[y[i]]=max(1, a[y[i]]);
        a[x[i]]=cmmmc(a[x[i]], d[i]);
        a[y[i]]=cmmmc(a[y[i]], d[i]);
    }
    int dd=1;
    for(i=1;i<=m;i++)
    {
        if(cmmdc(a[x[i]], a[y[i]])!=d[i])
            dd=0;
    }
    if(!dd)
        fout<<-1;
    else
    {
        for(i=1;i<=n;i++)
        {
            fout<<a[i]<<" ";
        }

    }
    fout<<"\n";
}