Pagini recente » Cod sursa (job #1104140) | Cod sursa (job #2329024) | Cod sursa (job #1514449) | Cod sursa (job #2978686) | Cod sursa (job #1067992)
#include<fstream>
#include<cstdio>
using namespace std;
int v[10003], x[10003], y[10003], d[10003], i, n, m, a, b, r, ok;
FILE*fin=fopen("oz.in","r");
ofstream fout("oz.out");
int main(){
fscanf(fin,"%d%d", &n, &m);
for(i=1; i<=n; i++)
v[i]=1;
for(i=1; i<=m; i++){
fscanf(fin,"%d%d%d", &x[i], &y[i], &d[i]);
a=v[x[i]];
b=d[i];
while(b!=0){
r=a%b;
a=b;
b=r;
}
v[x[i]]=(v[x[i]]/a)*d[i];
a=v[y[i]];
b=d[i];
while(b!=0){
r=a%b;
a=b;
b=r;
}
v[y[i]]=(v[y[i]]/a)*d[i];
}
for(i=1; i<=m; i++){
a=v[x[i]];
b=v[y[i]];
while(b!=0){
r=a%b;
a=b;
b=r;
}
if(a!=d[i]){
ok=1;
fout<<"-1";
break;
}
}
if(ok==0)
for(i=1; i<=n; i++)
fout<<v[i]<<" ";
return 0;
}