Cod sursa(job #3239363)

Utilizator Bianca2507Negret Bianca Bianca2507 Data 5 august 2024 09:37:42
Problema Oz Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

using namespace std;
ifstream cin("oz.in");
ofstream cout("oz.out");
struct numar
{
    int a,b,d;
}v[100005];
int n,m,x[10005];
int cmmdc(int a,int b)
{
    while(b!=0)
    {
        int r=a%b;
        a=b;
        b=r;
    }
    return a;
}
int main()
{
    cin>>n>>m;
    for(int i=1;i<=m;i++)
        cin>>v[i].a>>v[i].b>>v[i].d;
    for(int i=1;i<=n;i++)
        x[i]=1;
    for(int i=1;i<=m;i++)
    {
        x[v[i].a]=v[i].d/cmmdc(x[v[i].a],v[i].d)*x[v[i].a];
        x[v[i].b]=v[i].d/cmmdc(x[v[i].b],v[i].d)*x[v[i].b];
    }

    for(int i=1;i<=m;i++)
        if(cmmdc(x[v[i].a],x[v[i].b])!=v[i].d)
    {
        cout<<-1;
        return 0;
    }
    for(int i=1;i<=n;i++)
        cout<<x[i]<<" ";
    return 0;
}