Pagini recente » Cod sursa (job #1414510) | Cod sursa (job #1592757) | Cod sursa (job #955601) | Cod sursa (job #649106) | Cod sursa (job #320011)
Cod sursa(job #320011)
#include<iostream.h>
#include<stdio.h>
FILE *f=fopen("oz.in","r"),*g=fopen("oz.out","w");
long long a,b;
long div(long long a,long long b)
{
if(a%b==0) return b;
else
return div(b,a%b);
}
int main()
{
long long a1[10001],i,j[100000],d[100000],n,m,t=1,b1[100000],k;
fscanf(f,"%lld %lld\n",&n,&m);
for(i=1;i<=n;i++)
a1[i]=1;
for(i=1;i<=m;i++)
{
fscanf(f,"%lld %lld %lld\n",&b1[i],&j[i],&d[i]);
a=a1[b1[i]];
b=d[i];
k=div(a,b);
a1[b1[i]]=a1[b1[i]]*(d[i]/k);
a=a1[j[i]];
b=d[i];
k=div(a,b);
a1[j[i]]=a1[j[i]]*(d[i]/k);
}
for(i=1;i<=m&&t;i++)
{
if(a1[b1[i]]%d[i]) t=0;
if(a1[j[i]]%d[i]) t=0;
}
if(t)
{
for(i=1;i<=n;i++)
fprintf(g,"%lld ",a1[i]);
}
else
fprintf(g,"-1\n");
return 0;
}