Pagini recente » Cod sursa (job #1825640) | Cod sursa (job #790852) | Cod sursa (job #2684129) | Cod sursa (job #2104079) | Cod sursa (job #2108482)
#include <bits/stdc++.h>
using namespace std;
ifstream in("oz.in");
ofstream out("oz.out");
struct tr
{
long x, y, k;
}v[100005];
long n, m;
long arr[10005];
long cmmdc( long a, long b )
{
long r;
while( b != 0 )
{
r = a % b;
a = b;
b = r;
}
return a;
}
int main() {
in>>n>>m;
for( int i = 1; i <= n; i++ )
arr[i] = 1;
for( int i = 1; i <= m; i++ )
{
in>>v[i].x>>v[i].y>>v[i].k;
arr[ v[i].x ] *= v[i].k/cmmdc( arr[ v[i].x ] , v[i].k);
arr[ v[i].y ] *= v[i].k/cmmdc( arr[ v[i].y ] , v[i].k);
}
for( int i = 1; i <= m; i++ )
if( cmmdc( arr[ v[i].x ], arr[ v[i].y ] )!= v[i].k )
{
out<<-1;
return 0;
}
for( int i = 1; i <= n; i++ )
out<<arr[i]<<" ";
return 0;
}