Cod sursa(job #1149193)

Utilizator kappykkDragos kappykk Data 21 martie 2014 15:25:52
Problema Oz Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>

using namespace std;

int x[10001],q[10001],w[10001],e[10001];

int gcd(int a, int b){
    for(int c ; b ; c = a % b , a = b , b = c);
    return a;
}

int lcm(int a, int b){
    int s;
    s = (a * b) / gcd(a,b);
    return s;
}
int main()
{
    int m,n,a,s,d,i;
    ifstream f("oz.in");
    ofstream g("oz.out");
    f>>n>>m;
    for(i = 1 ; i <= 10001 ; ++i)
        x[i] = 1;
    for(i = 1 ; i <= m ; ++i){
        f>>q[i]>>w[i]>>e[i];
        x[q[i]] = lcm(q[i],e[i]);
        x[w[i]] = lcm(w[i],e[i]);
    }
    int ok = 1;
    for(i = 1 ; i <= n ; ++i)
        if(gcd(q[i],w[i]) != e[i]){
            ok = 0;
            g<<"-1";
            break;
        }
    if(ok)
        for(i = 1 ; i <= n ; ++i)
            g<<x[i]<<" ";
    f.close();
    g.close();
    return 0;
}