Cod sursa(job #319488)

Utilizator udrescu_cristiUdrescu Cristian udrescu_cristi Data 31 mai 2009 21:09:20
Problema Oz Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#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,d,n,m,t=1,i1,k;
 fscanf(f,"%lld %lld\n",&n,&m);
   for(i=1;i<=n;i++)
      a1[i]=1;
 for(i=1;i<=m&&t;i++)
{  
fscanf(f,"%lld %lld %lld\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]<0) t=0;
if(a1[j]<0) t=0;
}
 if(t) 
{
for(i=1;i<=n;i++)
fprintf(g,"%lld ",a1[i]);
}
else
fprintf(g,"-1\n");
return 0;
}