Pagini recente » Cod sursa (job #375518) | Cod sursa (job #2609528) | Cod sursa (job #2510654) | Cod sursa (job #1272424) | Cod sursa (job #3270858)
#include <bits/stdc++.h>
using namespace std;
int cmmdc(int a, int b){
while(b){
int r = a % b;
a = b;
b = r;
}
return a;
}
int main(){
ifstream fin("oz.in");
ofstream fout("oz.out");
int n, t, a[10010], k = 1;
int i1[100001], j1[100001], d[100001];
fin >> n >> t;
for(int i = 1; i <= n; i++){
a[i] = 1;
}
for(int p = 1; p <= t; p++){
int i, j, cmd;
fin >> i >> j >> cmd;
i1[k] = i;
j1[k] = j;
d[k] = cmd;
a[i] = a[i] * (cmd / cmmdc(a[i], cmd));
a[j] = a[j] * (cmd / cmmdc(a[j], cmd));
}
bool gasit = true;
for(int i = 1; i <= k; i++){
if(cmmdc(i1[i],j1[i]) != d[i])
gasit = false;
}
if(gasit == false)
fout << -1;
else for(int i = 1; i <= n; i++){
fout << a[i] << " ";
}
}