Pagini recente » Cod sursa (job #3139827) | Cod sursa (job #3184269) | Cod sursa (job #952180) | Cod sursa (job #1110651) | Cod sursa (job #167818)
Cod sursa(job #167818)
# include <stdio.h>
FILE *f,*g;
long long x,y,a[100001][4];
long n,m,i,j,v[10001];
int ok;
long long cmmdc(long long a,long long b)
{
long long r=0;
r=a%b;
while (r!=0)
{
a=b;
b=r;
r=a%b;
}
return b;
}
long long cmmmc(long long a,long long b)
{
long long q;
q=(a*b)/cmmdc(a,b);
return q;
}
int main()
{
f=fopen("oz.in","r");
g=fopen("oz.out","w");
fscanf(f,"%ld %ld",&n,&m);
for (i=1;i<=n;i++)
v[i]=1;
ok=1;
for (i=1;i<=m;i++)
{
fscanf(f,"%lld %lld %lld", &a[i][1], &a[i][2], &a[i][3]);
x=cmmmc(v[a[i][1]],a[i][3]);
y=cmmmc(v[a[i][2]],a[i][3]);
if (x>2000000000 || y>2000000000) {
ok=0;
break;
}
else {
v[a[i][1]]=x;
v[a[i][2]]=y;
}
}
fclose(f);
if (!ok) fprintf(g,"-1");
else
{
for (i=1;i<=m;i++)
{
if (cmmdc(v[a[i][1]],v[a[i][2]])!=a[i][3])
{
ok=0;
break;
}
}
if (ok)
for (i=1;i<=n;i++)
fprintf(g,"%ld ", v[i]);
else
fprintf(g,"-1");
}
fclose(g);
return 0;
}