Pagini recente » Cod sursa (job #1129512) | Cod sursa (job #1857766) | Cod sursa (job #828640) | Cod sursa (job #35580) | Cod sursa (job #1415040)
#include <cstdio>
#include <fstream>
using namespace std;
long long n, k, i,m,a[10010],b[10010],d[10010],v[10010],ca,cb,cc;
bool ok = true;
int cmmdc(long a,long b){
int r;
r=a%b;
while(r!=0){
a = b;
b = r;
r = a % b;}
return b;}
int main (){
freopen("oz.in","r",stdin);
ofstream g ("oz.out");
scanf("%lld%lld",&n,&m);
for (i = 1; i <= n; i++)
v[i] = 1;
for (i = 1; i <= m; i++){
scanf("%lld%lld%lld", &a[i], &b[i], &d[i]);
ca=a[i];
cb=b[i];
cc=d[i];
v[ca]= 1LL*v[ca]*1LL*(d[i]/cmmdc(d[i],v[ca]));
v[cb]= 1LL*v[cb]*1LL*(d[i]/cmmdc(d[i],v[cb]));}
for (i=1;i<=m;i++)
if (d[i] != cmmdc (v[a[i]], v[b[i]]) || v[a[i]] > 2000000000 || v[b[i]] > 2000000000){
g<<-1;
ok = false;
break;}
if (ok == true)
for (i = 1; i <= n; i++)
g<<v[i]<<" ";
return 0;}