Cod sursa(job #255211)

Utilizator pedobearBacauanu Vlad pedobear Data 8 februarie 2009 20:42:23
Problema Oz Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <stdio.h>

int m,n,i,a,b,r;
long long x1,x2,y1,y2,x;
long long v[10001];

int main ()
{
    freopen ("oz.in","r",stdin);
    freopen ("oz.out","w",stdout);
    
    scanf ("%d %d",&n,&m);
    
    for (i=1;i<=n;i++) v[i]=1;
    
    for (i=1;i<=m;i++){
        scanf ("%d %d %lld",&a,&b,&x);
        x1=x;
        x2=x;
        r=1;
        y1=v[a];
        y2=v[b];
        while (r!=0){
              r=y1%x1;
              y1=x1;
              x1=r;
              }
        v[a]=v[a]*x/y1;
        r=1;
        while (r!=0){
              r=y2%x2;
              y2=x2;
              x2=r;
              }
        v[b]=v[b]*x/y2;
        }
        
    for (i=1;i<=n;i++) printf ("%lld ",v[i]);
    
    return 0;
}