Pagini recente » Cod sursa (job #2316763) | Cod sursa (job #289092) | Cod sursa (job #1911902) | Cod sursa (job #2705321) | Cod sursa (job #301823)
Cod sursa(job #301823)
#include <stdio.h>
int v[10010],trip[4][100200];
int n,m,i,h;
int euclid (int a,int b)
{
int r=1;
while (r!=0){
r=a%b;
a=b;
b=r;
}
return a;
}
int main ()
{
freopen ("oz.in","r",stdin);
freopen ("oz.out","w",stdout);
scanf ("%d %d",&n,&m);
for (i=1;i<=n;i++) v[i]=1;
for (i=1;i<=m;i++){
scanf ("%d %d %d",&trip[1][m],&trip[2][m],&trip[3][m]);
v[trip[1][m]]= v[trip[1][m]] / euclid (v[trip[1][m]],trip[3][m]) * trip[3][m];
v[trip[2][m]]= v[trip[2][m]] / euclid (v[trip[2][m]],trip[3][m]) * trip[3][m];
}
for (i=1;i<=m;i++)
if (trip[3][m] != euclid( v[trip[1][m]],v[trip[2][m]])) h=1;
if ( h ) printf ("-1\n");
else for (i=1;i<=n;i++) printf ("%d ",v[i]);
return 0;
}