Pagini recente » Cod sursa (job #43714) | Cod sursa (job #1692642) | Cod sursa (job #2137183) | Cod sursa (job #1155929) | Cod sursa (job #164400)
Cod sursa(job #164400)
#include <stdio.h>
#include <stdlib.h>
#define lim 2000000000
#define mx 100010
long i,n,m,ok;
long x[mx],y[mx],a[mx];
long long d[mx];
long cmmdc(long a, long b)
{
long c;
while (b>0)
{
c=a%b;
a=b;
b=c;
}
return a;
}
void iesire(int ok)
{
if (ok==1)
{
printf("-1");
exit 0;
}
}
int main()
{
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
scanf("%ld %ld",&n,&m);
ok=0;
for (i=1; i<=m; i++)
{
scanf("%ld %ld %lld",&x[i],&y[i],&d[i]);
a[x[i]]=a[x[i]]*(d/cmmdc(a[x[i]],d[i]));
a[y[i]]=a[y[i]]*(d/cmmdc(a[x[i]],d[i]));
if (a[x[i]]>lim || a[y[i]]>lim)
ok=1;
}
iesire(ok);
for (i=1; i<=m; i++)
if (cmmdc(a[x[i]],a[y[i]])!=d)
ok=1;
iesire(ok);
for (i=1; i<=n; i++)
printf("%ld",&a[i]);
fclose(stdin);
fclose(stdout);
return 0;
}