Pagini recente » Cod sursa (job #483422) | Cod sursa (job #524324) | Cod sursa (job #1068484) | Cod sursa (job #205081) | Cod sursa (job #2657044)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("oz.in");
ofstream out("oz.out");
int cmmmc(int a, int b)
{
int r, p;
p=a*b;
while(b)
{
r=a%b;
a=b;
b=r;
}
return p/a;
}
int cmmdc(int a, int b)
{
int r;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int trip[100000][3];
int v[10000];
int main()
{
int n, m, k;
in>>n>>m;
for( k = 0; k < n; k++ ){
v[k] = 1;
}
for( k = 0; k < m; k++ ){
in>>trip[k][0]>>trip[k][1]>>trip[k][2];
if(v[ trip[k][0] - 1 ] % trip[k][2] != 0 ){
v[ trip[k][0] - 1 ] = cmmmc(v[ trip[k][0] - 1 ], trip[k][2]);
}
if(v[ trip[k][1] - 1 ] % trip[k][2] != 0 ){
v[ trip[k][1] - 1 ] = cmmmc(v[ trip[k][1] - 1 ], trip[k][2]);
}
}
for( k = 0; k < m; k++ ){
if( cmmdc(v[ trip[k][0] - 1 ], v[ trip[k][1] - 1 ]) != trip[k][2] )
k = m + 2;
}
if( k == m + 2 )
out<<"-1";
else{
for( k = 0; k < n; k++ ){
out<<v[k]<<" ";
}
}
return 0;
}