Pagini recente » Cod sursa (job #3212628) | Cod sursa (job #2858835) | Cod sursa (job #1884036) | Cod sursa (job #1845519) | Cod sursa (job #319442)
Cod sursa(job #319442)
#include<iostream.h>
#include<stdio.h>
FILE *f=fopen("oz.in","r"),*g=fopen("oz.out","w");
long a,b;
int div(long a,long b)
{
while(a!=b)
{
if(a>b)
a=a-b;
else
b=b-a;
}
return a;
}
int main()
{
long a1[10001],i,j,d,n,m,t=1,i1,k;
fscanf(f,"%ld %ld\n",&n,&m);
for(i=1;i<=n;i++)
a1[i]=1;
for(i=1;i<=m&&t;i++)
{
fscanf(f,"%ld %ld %ld\n",&i1,&j,&d);
a=a1[i1];
b=d;
k=div(a,b);
a1[i1]=a1[i1]*(d/k);
a=a1[j];
b=d;
k=div(a,b);
a1[j]=a1[j]*(d/k);
if(a1[i1]>2000000000) t=0;
if(a1[j]>2000000000) t=0;
}
for(i=1;i<=n;i++)
if(a1[i]==1) t=0;
if(t)
{
for(i=1;i<=n;i++)
fprintf(g,"%ld ",a1[i]);
}
else
fprintf(g,"-1");
return 0;
}