Cod sursa(job #1483889)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 10 septembrie 2015 08:27:40
Problema Oz Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
int n,m,i,d[100010],t,a[100010],b[100010];
long long v[10001];
int C(int a,int b) { return !b?a:C(b,a%b); }
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%d",a+i,b+i,d+i),v[a[i]]=(v[a[i]]*d[i])/C(v[a[i]],d[i]),v[b[i]]=(v[b[i]]*d[i])/C(v[b[i]],d[i]);
    for(i=1;i<=m&&!t;i++)
    if(C(v[a[i]],v[b[i]])!=d[i])
        t=1;
    if(!t)
        for(i=1;i<=n;i++)
            printf("%d ",v[i]);
    else
        printf("-1");
}