Pagini recente » Cod sursa (job #1194299) | Cod sursa (job #167660) | Cod sursa (job #602600) | Cod sursa (job #2042544) | Cod sursa (job #2489929)
#include <fstream>
using namespace std;
ifstream f("oz.in");
ofstream g("oz.out");
struct triplet {
long long i;
long long j;
long long x;
};
triplet read[100001];
long long v[10001];
long long cmmdc(long long a,long long b) {
long long r;
while(b) {
r=a%b;
a=b;
b=r;
}
return a;
}
int main() {
long long n, m, i, a, b, d;
f>>n>>m;
for(i=1; i<=n; i++) {
v[i]=1;
}
for(i=1; i<=m; i++) {
f>>a>>b>>d;
v[a]=v[a]*d/cmmdc(v[a],d);
v[b]=v[b]*d/cmmdc(v[b],d);
read[i].i=a;
read[i].j=b;
read[i].x=d;
}
for (long long a=1; a<=n; a++) {
if(v[a]>2000000000 || v[a]<0) {
g<<-1;
return 0;
}
}
for (i=1; i<=m; i++) {
if(cmmdc(v[read[i].i], v[read[i].j])!=read[i].x) {
g<<-1;
return 0;
}
}
for (i=1; i<=n; i++) {
g<<v[i]<<' ';
}
return 0;
}