Cod sursa(job #2267381)

Utilizator divianegoescuDivia Negoescu divianegoescu Data 23 octombrie 2018 16:22:38
Problema Oz Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <stdio.h>
FILE *fin=fopen("oz.in","r");
using namespace std;
ofstream fout("oz.out");
int n,m,i,j,t;
unsigned long long  v[10001],d,r,x,aux,nrmodif;
int cmmmc(unsigned long long a,unsigned long long d)
{
    if(a==1)nrmodif--;
    x=a;
    r=d;
    while(r!=0)
    {
        aux=x;
        x=r;
        r=aux%r;
    } //x= cmmdc (v[i], d)
    return (a*d)/x;
}
int main()
{
    fscanf(fin,"%d%d",&n,&m);
    if(m<n/2)
    {
        fout<<"-1";
        return 0;
    }
    for(i=1;i<=n;i++)
        v[i]=1;
    nrmodif=n;
    for(t=1;t<=m;t++)
    {
        fscanf(fin,"%d%d%d",&i,&j,&d);
        v[i]=cmmmc(v[i],d);
        v[j]=cmmmc(v[j],d);
    }
    if(nrmodif>0){fout<<"-1";return 0;}
    for(i=1;i<=n;i++)
        fout<<v[i]<<" ";
    return 0;
}