Cod sursa(job #164790)

Utilizator katakunaCazacu Alexandru katakuna Data 24 martie 2008 20:35:06
Problema Oz Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>

int n,m,v[10010],i,a,b,c,d;


int cmmdc(int a,int b){
int r;

  while(b!=0){
  r=a%b;
  a=b;
  b=r;
  }


return a;
}


int main(){


FILE *f=fopen("oz.in","r");
fscanf(f,"%d %d",&n,&m);


int ok=1;

for(i=1;i<=n;i++)
v[i]=1;

FILE *g=fopen("oz.out","w");

  for(i=1;i<=m;i++){
  fscanf(f,"%d %d %d",&a,&b,&c);

  d = cmmdc (v[a],v[b]);


   if(d>c){
   fprintf(g,"%d",-1);
   ok=0;
   break;
   }

   else{
   v[a]*=c/d;
   v[b]*=c/d;
   }


  }


  if(ok)

   for(i=1;i<=n;i++)
   fprintf(g,"%d ",v[i]);

fclose(g);
fclose(f);
return 0;
}