Pagini recente » Cod sursa (job #499638) | Cod sursa (job #159890) | Cod sursa (job #2849189) | Cod sursa (job #1085155) | Cod sursa (job #1415037)
#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("%d%d",&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]= v[ca]*(d[i]/cmmdc(d[i],v[ca]));
v[cb]= v[cb]*(d[i]/cmmdc(d[i],v[cb]));
if(v[ca]>2000000000||v[cb]>2000000000){ok=false;break;}}
if(!ok)g<<-1;
else{
for (i = 1; i <= m; i++)
if (d[i]!=cmmdc(v[a[i]],v[b[i]]))
{g<<-1;
ok = false;
break;}
if (ok == true)
for (i = 1; i <= n; i++)
g<<v[i]<<" ";}
return 0;}