Pagini recente » Cod sursa (job #1429999) | Cod sursa (job #1984665) | Cod sursa (job #980673) | Cod sursa (job #1407840) | Cod sursa (job #2656102)
#include <stdio.h>
#define NMAX 10000
#define MAX 2000000000
int v[NMAX];
int cmmmdc( int a, int b ) {
int r;
while ( b > 0 ) {
r = a % b;
a = b;
b = r;
}
return a;
}
int main() {
FILE *fin, *fout;
int n, m, d, i, j, l;
long long x, y;
fin = fopen( "oz.in", "r" );
fscanf( fin, "%d%d", &n, &m );
for ( i = 0; i < n; i++ )
v[i] = 1;
l = 0;
while ( l < m && x <= MAX && y <= MAX ) {
fscanf( fin, "%d%d%d", &i, &j, &d );
i--;
j--;
x = (long long)(v[i] * d / cmmmdc(v[i], d));
v[i] = x;
y = (long long)(v[j] * d / cmmmdc(v[j], d));
v[j] = y;
l++;
}
fclose( fin );
fout = fopen( "oz.out", "w" );
if ( x <= MAX && y <= MAX ) {
for ( l = 0; l < n; l++ )
fprintf( fout, "%d ", v[l] );
} else
fprintf( fout, "-1" );
fclose( fout );
return 0;
}