Cod sursa(job #333361)

Utilizator bugyBogdan Vlad bugy Data 22 iulie 2009 13:45:57
Problema Oz Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<stdio.h>
#define dim 100001
using namespace std;
long v[dim],e[dim],r[dim],t[dim];
int n,i,m,s,d;

int cmmdc(int x,int 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,"%d%d",&n,&m);
	for(i=1;i<=n;i++)
		v[i]=1;
	
	for(i=1;i<=m;i++)
	{
		fscanf(f,"%ld%ld%ld",&e[i],&r[i],&t[i]);
		
	d=cmmdc(e[i],t[i]);
	v[i]=(e[i]*t[i])/d;
	d=cmmdc(r[i],t[i]);
	v[i]=(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,"%ld ",v[i]);
	fprintf(g,"\n");
	
	
fclose(f);
fclose(g);

return 0;}