Pagini recente » Cod sursa (job #1791858) | Cod sursa (job #750912) | Cod sursa (job #1624096) | Cod sursa (job #2078279) | Cod sursa (job #236880)
Cod sursa(job #236880)
#include<stdio.h>
int check(int a,int b)
{ int c;
while(a)
{
c=b%a;
b=a;
a=c;
}
return b;
}
int main ()
{
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
int n,m,i,k,q;
int x,b,c;
scanf("%d%d",&n,&m);
long long unsigned ve[m+200],ve2[m+200],ve3[m+200];
long long unsigned a[n+200];
for(i=1;i<=n;i++)
a[i]=1;
for(i=1;i<=m;i++)
{
scanf("%d%d%d",&x,&b,&c);
q=2;
ve[i]=x;
ve2[i]=b;
ve3[i]=c;
a[x]=(a[x]*c)/check(a[x],c);
a[b]=(a[b]*c)/check(a[b],c);
if(a[x]>2000000000 || a[b]>2000000000)
{printf("-1\n");
return 0;
}
}
for(i=1;i<=m;i++)
{
if(check(a[ve[i]],ve3[i])==0 || check(a[ve2[i]],ve3[i])==0)
{printf("-1\n");
return 0;
}}
for(i=1;i<=n;i++)
if(a[i]>2000000000)
{printf("-1\n");
return 0;
}
for(i=1;i<=n;i++)
{
if(a[i]>2000000000)
{ break;}
printf("%d ",a[i]);}
return 0;
}