Pagini recente » Cod sursa (job #1137421) | Cod sursa (job #2428489) | Cod sursa (job #2976913) | Cod sursa (job #2433920) | Cod sursa (job #3189153)
#include <stdio.h>
#include <stdlib.h>
#define MAXN 10000
#define MAXM 100000
long long v[MAXN];
int j[MAXM], j1[MAXM], d[MAXM];
long long cmmdc( long long a, long long b ){
while( b > 0 ){
long long r = a % b;
a = b;
b = r;
}
return a;
}
int main()
{
FILE *fin, *fout;
int n, m, i, st;
long long x;
fin = fopen("oz.in", "r");
fout = fopen("oz.out", "w");
fscanf(fin, "%d%d", &n, &m);
for( i = 0; i < n; i++ )
v[i] = 1LL;
st = 0;
for( i = 0; i < m; i++ ){
fscanf(fin, "%d%d%d", &j[i], &j1[i], &d[i]);
v[--j[i]] *= d[i];
v[--j1[i]] *= d[i];
}
for(i = 0; i < m; i++){
if(cmmdc(v[j[i]], v[j1[i]]) != d[i])
st = 1;
}
if(st){
fprintf(fout, "-1");
}
else{
for(i = 0; i < n; i++)
fprintf(fout, "%lld ", v[i]);
}
fputc('\n', fout);
fclose(fin);
fclose(fout);
return 0;
}