Cod sursa(job #991097)

Utilizator enedumitruene dumitru enedumitru Data 29 august 2013 18:18:12
Problema Oz Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
#define NN 100001
using namespace std;
ifstream f("oz.in"); ofstream g("oz.out");
int n,m,p,ii[NN],jj[NN],dd[NN],v[NN];
int cmmdc(int a, int b)
{   int r;
    while(b) r=a%b, a=b, b=r;
    return a;
}
int main()
{   f>>n>>m;
    for(p=1;p<=n;++p) v[p]=1;
    for(p=1;p<=m;++p)
    {   int i,j,d;
        f>>i>>j>>d; ii[p]=i; jj[p]=j; dd[p]=d;
        v[i]=v[i]/cmmdc(v[i],d)*d;
        v[j]=v[j]/cmmdc(v[j],d)*d;
    }
    int w=1;
    for(p=1;p<=m && w;)
    if(cmmdc(v[ii[p]],v[jj[p]])==dd[p]) ++p; else w=0;
    if(w) for(p=1;p<=n;p++) g<<v[p]<<" "; else g<<"-1";
    g<<'\n'; g.close(); return 0;
}