Pagini recente » Cod sursa (job #2406028) | Cod sursa (job #2400397) | Cod sursa (job #284546) | Cod sursa (job #2824095) | Cod sursa (job #2485930)
#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 1LL*a;
}
long long 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]=v[i]*d/cmmdc(v[i],d);
v[j]=v[j]*d/cmmdc(v[j],d);
vv[cazan].l=i;
vv[cazan].r=j;
vv[cazan].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;
}