Pagini recente » Cod sursa (job #408959) | Cod sursa (job #1189735) | Cod sursa (job #650145) | Cod sursa (job #2209664) | Cod sursa (job #334554)
Cod sursa(job #334554)
#include<stdio.h>
#define dim 100002
using namespace std;
long long v[dim],e[dim],r[dim],t[dim];
long n,i,m,s,d;
int cmmdc(long x,long y)
{
s=1;
while (s!=0)
{s=x%y;
if (s!=0)
{x=y;
y=s;}
else
x=y;
}
return x;
}
int main()
{
FILE *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;
for(i=1;i<=m;i++)
{
fscanf(f,"%lld%lld%lld",&e[i],&r[i],&t[i]);
d=cmmdc(v[e[i]],t[i]);
v[e[i]]=(v[e[i]]*t[i])/d;
d=cmmdc(v[r[i]],t[i]);
v[r[i]]=(v[r[i]]*t[i])/d;
}
for(i=1;i<=m;i++)
{
d=cmmdc( v[ e[i] ], v[ r[i] ] );
if(d!=t[i])
{fprintf(g,"-1\n");
fclose(f);
fclose(g);
return 0;}
}
for(i=1;i<=n;i++)
fprintf(g,"%lld ",v[i]);
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;}