Cod sursa(job #1789152)

Utilizator pas.andreiPopovici Andrei-Sorin pas.andrei Data 26 octombrie 2016 18:50:19
Problema Oz Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <cstdio>
#include <iostream>
#include <queue>
#include <vector>
#include <fstream>
#include <algorithm>
#include <string>
#include <iomanip>
#include <cstring>
#include <map>
#include <iomanip>
#include <unordered_map>
#include <stack>
#include <bitset>
#define MOD 8192
#define pb push_back
#define INF 0x3f3f3f3f
#define ll long long
#define NMAX 10005
#define MMAX 2000000005

using namespace std;

typedef pair<int, int> pii;

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

long long v[NMAX];

int main() {
	int n,m,a,b,d,i,cmmdc;

	fin>>n>>m;
	for(i=1;i<=n;++i) v[i]=1;
	while(m--) {
		fin>>a>>b>>d;

		cmmdc=__gcd(v[a],v[b]);
		if(d%cmmdc != 0) {
			fout<<-1;
			return 0;
		}
		else {
			cmmdc=d/cmmdc;
			v[a]*=cmmdc;
			v[b]*=cmmdc;
		}

		if(v[a]>MMAX || v[b]>MMAX) {
			fout<<-1;
			return 0;
		}
	}

	for(i=1;i<=n;++i) fout<<v[i]<<' ';

	return 0;
}