Cod sursa(job #2655084)

Utilizator Fantastic_Mantudor voicu Fantastic_Man Data 3 octombrie 2020 11:29:26
Problema Oz Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
using namespace std;
struct ura {
    int i; int j; int d;
}v[100001];
int sol[10001];
int gcd(int a,int b) {
    int r;
    while(b) {
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}
ifstream fin("oz.in");
ofstream fout("oz.out");
int main() {
    int n,m,i;
    fin>>n>>m;
    for(i=1;i<=n;i++)
        sol[i]=1;
    for(i=1;i<=m;i++) {
        fin>>v[i].i>>v[i].j>>v[i].d;
        sol[v[i].i]=sol[v[i].i]/gcd(sol[v[i].i],v[i].d)*v[i].d;
        sol[v[i].j]=sol[v[i].j]/gcd(sol[v[i].j],v[i].d)*v[i].d;
    }
    i=1;
    while(i<=m && gcd(sol[v[i].i],sol[v[i].j])==v[i].d)
        i++;
    if(i<=m)
        sol[n=1]=-1;
    for(i=1;i<=n;i++)
        fout<<sol[i]<<' ';
    return 0;
}