Cod sursa(job #3171167)

Utilizator stefan._.179stefan stefan._.179 Data 18 noiembrie 2023 14:16:26
Problema Oz Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
uint32_t cmmdc(uint32_t a, uint32_t b)
{
    uint32_t r;
    while (b!=0)
    {
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}
int main ()
{
    ifstream fin;
    ofstream fout;
    fin.open ("oz.in");
    fout.open ("oz.out");
    uint32_t  ve[10001],n,m;
    fill_n(ve,10001,1);
    fin>>n>>m;
    uint32_t x,y,z;
    for (uint32_t  i=1 ; i<=m ; i++)
    {
        fin>>x>>y>>z;
        ve[x]*=z/cmmdc(ve[x],z);
        ve[y]*=z/cmmdc(ve[y],z);
    }
    for (uint32_t  i =1 ; i<=n; i++)
    {

        if (ve[i]==1)
        {
            fout<<-1;
            return 0;
        }

    }

    fin.close();
    fin.open ("oz.in");
    fin>>n>>m;
     for (uint32_t  i =1 ; i<=m; i++)
     {
         fin>>x>>y>>z;
         if (cmmdc(ve[x], ve[y])!=z)
         {


            fout<<-1;
         return 0;


         }
     }
    for (uint32_t  i =1 ; i<=n; i++)
    {
        fout<<ve[i]<<" ";
    }
}