Pagini recente » Cod sursa (job #779112) | Cod sursa (job #1362377) | Cod sursa (job #2559534) | Cod sursa (job #1607154) | Cod sursa (job #169520)
Cod sursa(job #169520)
#include <fstream.h>
#include <math.h>
#include <iostream.h>
long m,n,i,j,d,h,v[10000],ok,a[3][100001];
long long x,y;
long long cmmdc(long long a, long long b)
{
long long r;
do{
r=a%b;
a=b;
b=r;
}while (r!=0);
return a;
}
int main()
{
fstream f1("oz.in",ios::in);
fstream f2("oz.out",ios::out);
f1>>n;
f1>>m;
for(h=1;h<=n;h++)
{
v[h]=1;
}
ok=1;
for(h=1;h<=m;h++)
{
f1>>i;
f1>>j;
f1>>d;
A[h][0]=i;
A[h][1]=j;
A[h][2]=d;
// cmmmc
x=v[i]*d/cmmdc(v[i],d);
y=v[j]*d/cmmdc(v[j],d);
if (x>2000000000 || y>2000000000) {
ok=0; break;
}
else { v[i]=x; v[j]=y;
}
}
f1.close();
if (ok) {
for (h=1;h<=m;h++)
if (cmmdc(v[a[h][0]],v[a[h][1]])!=a[h][2]) {
ok=0;
break;
}
}
if (!ok) f2<<"-1";
else for(h=1;h<=n;h++)
{
f2 << v[h];
}
f2.close();
return 0;
}