Cod sursa(job #2635674)

Utilizator euyoTukanul euyo Data 15 iulie 2020 12:32:02
Problema Oz Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

const int MaxN = 10001;
const int MaxM = 100001;

int v[MaxN];
int qi[MaxM], qj[MaxM], qd[MaxM];

int main() {
  int n, m, i, a, b, d, ok;
  
  fin >> n >> m;
  for ( i = 0; i < n; ++i ) {
	v[i] = 1;
  }
  for ( i = 0; i < m; ++i ) {
    fin >> a >> b >> d;
	--a;
	--b;
	v[a] *= (d / (__gcd( v[a], d )));
	v[b] *= (d / (__gcd( v[b], d )));
	qi[i] = a;
	qj[i] = b;
	qd[i] = d;
  }
  ok = 1;
  for ( i = 0; i < m; ++i ) {
	
	if ( __gcd( v[qi[i]], v[qj[i]] ) != qd[i] ) {
      ok = 0;
	}
  }
  if ( ok == 0 ) {
	fout << "-1";
  } else {
	for ( i = 0; i < n; ++i ) {
      fout << v[i] << " ";
	}
  }
  fin.close();
  fout.close();
  return 0;
}