Cod sursa(job #323927)

Utilizator mathboyDragos-Alin Rotaru mathboy Data 14 iunie 2009 10:19:04
Problema Oz Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>
#define Nmax 100000
int N,M,V[Nmax],k,i[Nmax],j[Nmax];
long d[Nmax];
inline int CMMDC(int a,int b)
{int c;
    while(b)
    {
        c=a%b;
        a=b;
        b=c;
    }
return a;
}
inline int CMMMC(int x,int y)
{ return x*y/CMMDC(x,y);}
int main()
{
    freopen("oz.in","r",stdin);
    freopen("oz.out","w",stdout);
    scanf("%d %d",&N,&M);
    for(k=1;k<=N;k++) V[k]++;
    while(M--)
    {
        scanf("%d %d %ld",&i[M],&j[M],&d[M]);
        V[i[M]]=CMMMC(V[i[M]],d[M]);
        V[j[M]]=CMMMC(V[j[M]],d[M]);
    }
    for(k=1;k<=N;k++)
    if(CMMDC(V[i[k]],V[j[k]])!=d[k]) {printf("-1");return 0;}
    for(k=1;k<=N;k++) printf("%d ",V[k]);
return 0;
}