Cod sursa(job #2486105)

Utilizator cipri05Ciprian Cristescu cipri05 Data 2 noiembrie 2019 12:08:51
Problema Oz Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <iostream>

using namespace std;
int N[10000],p1[10000],p2[10000],cmmdc[10000];
int main()
{
    int n,m,a,b,r,ok;
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
      cin>>p1[i]>>p2[i]>>cmmdc[i];
      if(N[p1[i]]==0)
        N[p1[i]]=cmmdc[i];
      if(N[p2[i]]==0)
        N[p2[i]]==cmmdc[i];
      if(N[p1[i]]!=0)
      {
        a=cmmdc[i];
        b=N[p1[i]];
        while(b!=0)
        {
          r=a%b;
          a=b;
          b=r;
        }
        N[p1[i]]=N[p1[i]]*cmmdc[i]/a;
      }
      if(N[p2[i]]!=0)
      {
        a=cmmdc[i];
        b=N[p2[i]];
        while(b!=0)
        {
          r=a%b;
          a=b;
          b=r;
        }
        N[p2[i]]=N[p2[i]]*cmmdc[i]/a;
      }
    }
    ok=0;
    for(int i=1;i<=m;i++)
    {
      a=N[p1[i]];
      b=N[p2[i]];
      while(b!=0)
        {
          r=a%b;
          a=b;
          b=r;
        }
        if(a==cmmdc[i])
          ok=0;
    }
    if(ok==1) cout<<-1;
    else
      for(int i=1;i<=n;i++)
      cout<<N[i];
    return 0;
}