Pagini recente » Cod sursa (job #19675) | Cod sursa (job #1087652) | Cod sursa (job #1942643) | Cod sursa (job #1367372) | Cod sursa (job #165919)
Cod sursa(job #165919)
# include <stdio.h>
FILE *f,*g;
long n,m,l,v[10000],ok,a[100000][3],i,j;
long cmmdc(long a,long b)
{
long r=0;
r=a%b;
while (r!=0)
{
a=b;
b=r;
r=a%b;
}
return b;
}
long cmmmc(long a,long b)
{
long long q;
q=(a*b);
if (q>2000000000) return -1;
else return q/cmmdc(a,b);
}
int main()
{
f=fopen("oz.in","r");
g=fopen("oz.out","w");
fscanf(f,"%ld %ld", &n, &m);
ok=1;
for (i=1;i<=n;i++)
v[i]=1;
for (l=1;l<=m;l++)
{
fscanf(f,"%ld %ld %ld", &a[l][1], &a[l][2], &a[l][3]);
if (ok)
if (a[l][3]==1)
{
ok=0;
break;
}
else
{
v[a[l][1]]=cmmmc(v[a[l][1]],a[l][3]);
v[a[l][2]]=cmmmc(v[a[l][2]],a[l][3]);
}
if (!ok) break;
}
fclose(f);
ok=1;
for (i=1;i<=m;i++)
{
if (v[a[i][1]]%a[i][3]!=0)
{
ok=0;
fprintf(g,"-1");
break;
}
if (v[a[i][2]]%a[i][3]!=0)
{
ok=0;
fprintf(g,"-1");
break;
}
if (!ok) break;
}
if (ok)
for (i=1;i<=n;i++)
fprintf(g,"%ld ", v[i]);
fclose(g);
return 0;
}