Cod sursa(job #3188872)

Utilizator MogoneaMIhneaMogonea Mihnea Mihai MogoneaMIhnea Data 3 ianuarie 2024 22:35:49
Problema Oz Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
///oz
#include <fstream>
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
int n,m,v[10002],f[10002],x[10002],y[10002],nr, i;
int cmmmc(int a,int b){
    int cmmdc,r,nr1,nr2,cmmmc;
    nr1=a;
    nr2=b;
    while(b!=0){
        r=a%b;
        a=b;
        b=r;
    }
    cmmdc=a;
    cmmmc=(nr1*nr2)/cmmdc;
    return cmmmc;
}
int main(){
    fin>>n>>m;
    nr=1;
    for(i=1;i<=n;i++)
        v[i]=1;
    for(i=1;i<=m;i++){
        fin>>f[i]>>x[i]>>y[i];
        if(v[f[i]]%y[i]!=0){
            v[f[i]]=cmmmc(v[f[i]],y[i]);
        }
        if(v[x[i]]%y[i]!=0){
            v[x[i]]=cmmmc(v[x[i]],y[i]);
        }
    }
    for(i=1;i<=m;i++){
        if(v[f[i]]%y[i]!=0 || v[x[i]]%y[i]!=0){
            nr=0;
            break;
        }
    }
    if(nr!=0){
        for(i=1;i<=n;i++)
            fout<<v[i]<<" ";
    }
    else
        fout<<"-1";
    return 0;
}