Cod sursa(job #2108471)

Utilizator AndreiSorin26012001Cirpici Andrei Sorin AndreiSorin26012001 Data 18 ianuarie 2018 13:40:13
Problema Oz Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("oz.in");
ofstream out("oz.out");

struct tr
{
    int x, y, k;
}v[10005];

int n, m;
int arr[10005];

int cmmdc( int a, int b )
{
    if( b == 0 )
        return a;
    else
    {
        int r = a % b;
        return cmmdc( b, r );
    }
}

int main() {

    in>>n>>m;

    for( int i = 1; i <= n; i++ )
        arr[i] = 1;

    for( int i = 1; i <= m; i++ )
    {
        in>>v[i].x>>v[i].y>>v[i].k;

        arr[ v[i].x ] *= v[i].k;
        arr[ v[i].y ] *= v[i].k;
    }

    for( int i = 1; i <= m; i++ )
        if( cmmdc( arr[ v[i].x ], arr[ v[i].y ] )!= v[i].k )
        {
            out<<-1;
            return 0;
        }

    for( int i = 1; i <= n; i++ )
        out<<arr[i]<<" ";

    return 0;
}