Pagini recente » Cod sursa (job #540421) | Cod sursa (job #965685) | Cod sursa (job #1334696) | Cod sursa (job #2866706) | Cod sursa (job #181916)
Cod sursa(job #181916)
#include<fstream.h>
#include<stdio.h>
int main()
{FILE *f, *g;
f=fopen("oz.in","r");
g=fopen("oz.out","w");
long p=0,a,i,n,m,p1[10000],p2[10000],cmmdc[10000],v[10000],r1,r2;
fscanf(f,"%ld%ld",&n,&m);
for(i=1;i<=m;i++)
fscanf(f,"%ld%ld%ld",&p1[i],&p2[i],&cmmdc[i]);
for(i=1;i<=n;i++)
v[i]=1;
for(i=1;i<=m;i++)
{v[p1[i]]=v[p1[i]]*cmmdc[i];
v[p2[i]]=v[p2[i]]*cmmdc[i];
}
for(i=1;i<=m;i++)
{r1=v[p1[i]];
r2=v[p2[i]];
while(r2!=0)
{a=r1%r2;
r1=r2;
r2=a;
}
if(cmmdc[i]!=r1)
{v[p1[i]]=v[p1[i]]/(r1/cmmdc[i]);
v[p2[i]]=v[p2[i]]/(r1/cmmdc[i]);}
}
for(i=1;i<=m;i++)
{r1=v[p1[i]];
r2=v[p2[i]];
while(r2!=0)
{a=r1%r2;
r1=r2;
r2=a;
}
if(cmmdc[i]!=r1)
{p=1;
break;
}
}
if(p==1)
fprintf(g,"imposibil\n");
else
for(i=1;i<=n;i++)
fprintf(g,"%ld ",v[i]);
fclose(f);
fclose(g);
return 0;
}