Pagini recente » Diferente pentru home intre reviziile 560 si 561 | Cod sursa (job #1504188) | Cod sursa (job #2184964) | Cod sursa (job #164020) | Cod sursa (job #244345)
Cod sursa(job #244345)
// oz.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
int e[10004];
int main()
{
int a,b,c,i,j,m,n,r,f;
bool g=true;
FILE *f1,*f2;
f1=fopen("oz.in","r");
f2=fopen("oz.out","w");
fscanf(f1,"%d %d",&n,&m);
for(i=1;i<=n;i++)
e[i]=1;
for(i=1;i<=m;i++)
{
fscanf(f1,"%d %d %d",&a,&b,&c);
j=e[a];
f=c;
while(f)
{
r=j%f;
j=f;
f=r;
if(j==1) break;
}
e[a]=e[a]*c/j;
j=e[b];
f=c;
while(f)
{
r=j%f;
j=f;
f=r;
if(j==1) break;
}
e[b]=e[b]*c/j;
}
fclose(f1);
f1=fopen("oz.in","r");
fscanf(f1,"%d %d",&n,&m);
int o,p,r2;
for(i=1;i<=m;i++)
{
fscanf(f1,"%d %d %d",&a,&b,&c);
o=e[a];
p=e[b];
while(p)
{
r2=o%p;
o=p;
p=r2;
if(o==1) break;
}
if(o!=c)
{
fprintf(f2,"-1");
g=false;
break;
}
}
if(g)
for(i=1;i<=n;i++)
fprintf(f2,"%d ",e[i]);
fclose(f1);
fclose(f2);
return 0;
}