Pagini recente » Cod sursa (job #772757) | Cod sursa (job #3256491) | Cod sursa (job #1937753) | Cod sursa (job #36483) | Cod sursa (job #2485918)
#include <fstream>
using namespace std;
ifstream in ("oz.in");
ofstream out ("oz.out");
long long cmmdc(int a,int b)
{
int r=0;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int v[10007];
struct nugarel
{
int l,r;
int d;
} vv[100007];
int main()
{
int n,m,i,j,d;
in>>n>>m;
for(int a=1;a<=n;a++)
v[a]=1;
for(int cazan=1;cazan<=m;cazan++)
{
in>>i>>j>>d;
v[i]=1LL*v[i]*d/cmmdc(v[i],d);
v[j]=1LL*v[j]*d/cmmdc(v[j],d);
vv[j].l=i;
vv[j].r=j;
vv[j].d=d;
}
for(int a=1;a<=n;a++)
{
if(v[a]>2e9||v[a]<0)
{
out<<-1;
return 0;
}
}
for(int a=1;a<=m;a++)
if(cmmdc(v[vv[a].l],v[vv[a].r])!=vv[a].d)
{
out<<-1;
return 0;
}
for(int a=1;a<=n;a++)
{
out<<v[a]<<' ';
}
return 0;
}