Pagini recente » Cod sursa (job #2025540) | Cod sursa (job #1774555) | Cod sursa (job #507940) | Monitorul de evaluare | Cod sursa (job #2034346)
#include<bits/stdc++.h>
using namespace std;
ifstream f("oz.in");
ofstream g("oz.out");
long long n,v[10002],m;
long long lcm(long long a,long long b)
{
long long x1=a;
long long x2=b;
long long c;
while(x2)
{
c=x1%x2;
x1=x2;
x2=c;
}
long long prd=a*b/x1;
return prd;
}
struct queries
{
long long a,b,d;
};
queries v1[100002];
bool test(queries a, queries b)
{
if(a.a==b.a)
return a.b<b.b;
return a.a<b.a;
}
int main()
{
f>>n>>m;
for(int i=1;i<=n;++i)
v[i]=1;
for(int i=1;i<=m;++i)
f>>v1[i].a>>v1[i].b>>v1[i].d;
sort(v1+1,v1+m+1,test);
for(int i=1;i<=m;++i)
{
if(v1[i].a==v1[i-1].a && v1[i].b==v1[i-1].b){
g<<-1;
return 0;
}
v[v1[i].a]=lcm(v[v1[i].a],v1[i].d);
v[v1[i].b]=lcm(v[v1[i].b],v1[i].d);
}
for(int i=1;i<=n;++i)
if(v[i]>2e9){
g<<-1;return 0;
}
for(int i=1;i<=n;++i)
g<<v[i]<<" ";
}