Cod sursa(job #1234983)

Utilizator felixiPuscasu Felix felixi Data 28 septembrie 2014 14:48:37
Problema Oz Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <fstream>
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

ifstream in("oz.in");
ofstream out("oz.out");

const int NMAX = 10000;

long long v[NMAX+1];
long long N, K;

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

int main() {
    in >> N >> K;
    for( int i= 1;  i<=N;  ++i ) v[i]= 1;
    for( int i= 1;  i<=N;  ++i ) {
        long long x,y,d;
        in >> x >> y >> d;
        v[x]= v[x]/cmmdc(v[x], d) * d;
        v[y]= v[y]/cmmdc(v[y], d) * d;
    }
    in.close();
    ifstream in("oz.in");
    in >> N >> K;
    bool OK= 1;
    for( int i= 1;  i<=N && OK;  ++i ) {
        long long x,y, d;
        in >> x >> y >> d;
        OK= (cmmdc(v[x], v[y]) == d);
    }
    if( OK )  {
        for( int i= 1;  i<=N;  ++i )  out << v[i] << ' ';
    }
    else {
        out << "-1";
    }
    out << '\n';
    return 0;
}