Cod sursa(job #2808705)
Utilizator | Matei Gabriel somethingforeveryone | Data | 25 noiembrie 2021 14:43:14 |
---|---|---|---|
Problema | Oz | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.05 kb |
#include <fstream>
#define NMAX 100002
using namespace std;
ifstream cin("oz.in");
ofstream cout("oz.out");
int n,m,j,k,i,v[NAMX],v1[NMAX],sol,a,b,r,o[NMAX],d[NMAX];
int main ()
{
cin>>n>>m;
for(i=1; i<=m; i++)
cin>>v[i]>>v1[i]>>d[i];
for(i=1; i<=n; i++)
o[i]=1;
for(i=1; i<=m; i++)
{
a=o[v[i]];
b=d[i];
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
o[v[i]]=o[v[i]]/a*d[i];
a=o[v1[i]];
b=d[i];
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
o[v1[i]]=o[v1[i]]/a*d[i];
}
for(i=1; i<=m; i++)
{
a=o[v[i]];
b=o[v1[i]];
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
if(a==d[i])
continue;
else
{
cout<<-1;
return 0;
}
}
for(i=1; i<=n; i++)
cout<<o[i]<<" ";
return 0;
}