Mai intai trebuie sa te autentifici.
Cod sursa(job #401722)
Utilizator | Data | 23 februarie 2010 08:22:20 | |
---|---|---|---|
Problema | Oz | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.78 kb |
#include<stdio.h>
int a,b,n,m,i,k,j,d,p,q,s,t,pk,r,ok;
int v[10000];
int vi[100006];
int vj[100006];
int vd[100006];
int main() {
FILE*f=fopen("oz.in","r");
FILE*g=fopen("oz.out","w");
fscanf(f,"%d %d",&n,&m);
for(p=1;p<=n;p++)
v[p]=1;
for(k=1;k<=m;k++){
fscanf(f,"%d %d %d",&i,&j,&d);
vi[++t]=i;
vj[++s]=j;
vd[++q]=d;
a=v[i];
b=d;
while(b){
r=a%b;
a=b;
b=r;
}
v[i]*=d/a;
a=v[j];
b=d;
while(b){
r=a%b;
a=b;
b=r;
}
v[j]*=d/a;
}
ok=1;
for(i=1;i<=t;i++){
a=v[vi[i]];
b=v[vj[i]];
while(b){
r=a%b;
a=b;
b=r;
}
if(a!=vd[i])
ok=0;
}
if(ok)
for(i=1;i<=n;i++)
fprintf(g,"%d ",v[i]);
else
fprintf(g,"%d",-1);
fclose(f);
fclose(g);
return 0;
}