Cod sursa(job #2108389)

Utilizator MihneaGhiraMihnea MihneaGhira Data 18 ianuarie 2018 10:15:11
Problema Oz Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
int n,x,y,d,m,nr;
int a[10001],b[10001],c[10001],v[10001];

long cmmdc (long a, long b){
    long r;
    while(b){
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}

int main(){
    fin>>n>>m;
    for(int i=1;i<=n;i++)
        v[i]=1;
    for(int i=1;i<=m;i++){
        fin>>x>>y>>d;
        v[x]*=d/cmmdc(v[x],d);
        v[y]*=d/cmmdc(v[y],d);
        a[i]=x;
        b[i]=y;
        c[i]=d;
    }
    for(int i=1;i<=m;i++){
        if(cmmdc(v[a[i]],v[b[i]])!=c[i]){
            fout<<-1;
            return 0;
        }
    }
    for(int i=1;i<=n;i++)
        fout<<v[i]<<" ";
    return 0;
}