Cod sursa(job #186902)

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

using namespace std;

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

int A[10000];
int N,M;

int main(void){

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


int a,b,c;

in >> N >> M;

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

out<<M;

for (int i=0;i<M;i++){
    
    in >> a >> b >> c;
    
    a--;
    b--;
    
    int k;
    k = A[a]*c/cmmdc(A[a],c);
    A[a] = k;
    
    k = A[b]*c/cmmdc(A[b],c);
    A[b] = k;
             
    if (cmmdc(A[a],A[b]) != c){
       out << -1;
       in.close();
       out.close();
       return 0;       
       }
    }

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

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

return 0;

}