Cod sursa(job #186907)

Utilizator fogabFodor Gabor fogab Data 29 aprilie 2008 02:43:30
Problema Oz Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <iostream>
#include <fstream>

#define LL long long

using namespace std;

LL cmmdc(int a,int b){
    if (b == 0) return a;
    return cmmdc(b,a%b);
    }

LL A[10000];
LL X[100000],Y[10000],Z[10000];
LL N,M;

int main(void){

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

out << -1;

return 0;

LL a,b,c;

in >> N >> M;

for (int i=0;i<N;i++)
    A[i] = 1;

for (int i=0;i<M;i++){
    
    in >> a >> b >> c;
    
    a--;
    b--;
    
    X[i] = a;
    Y[i] = b;    
    Z[i] = c;
    
    int k;
    k = (A[a]*c)/cmmdc(A[a],c);    
    A[a] = k;
    
    k = (A[b]*c)/cmmdc(A[b],c);
    A[b] = k;             
    }

for (int i=0;i<M;i++)
    if (cmmdc(A[X[i]],A[Y[i]]) != Z[i]){
       out << -1;
       in.close();
       out.close();
       return 0;       
       }

for (int i=0;i<N;i++){
    out << A[i] << " ";
    }

in.close();
out.close();

return 0;

}