Cod sursa(job #1388037)

Utilizator StarGold2Emanuel Nrx StarGold2 Data 15 martie 2015 00:53:35
Problema Oz Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <fstream>
#define DIM 10010
using namespace std;

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

int N, M, i, j, K, x, y, z;
int Q, V[DIM], ok;

void SetUp(){
     fin >> N >> Q;
     for(i = 1; i <= N; i ++)
          V[i] = 1;
     return;
}

int cmmdc(int a, int b){
     while(b != 0){
          int c = a % b;
          a = b; b = c;
     }
     return a;
}

void CodeExpert(){
     ok = 1;
     for(i = 1; i <= Q; i ++){
          fin >> x >> y >> z;
          if(cmmdc(V[x], V[y]) == 1){
               V[x] *= z;
               V[y] *= z;
          }
          else
               if(cmmdc(V[x], V[y]) != z){
                    ok = 0;
                    break;
               }
     }
     return;
}

void Finish(){
     if(ok == 0){
          fout << -1;
          return;
     }
     for(i = 1; i <= N; i ++)
          fout << V[i] << " ";
     return;
}

int main(){
     SetUp();
     CodeExpert();
     Finish();
     return 0;
}