Nu aveti permisiuni pentru a descarca fisierul grader_eval.cpp
Cod sursa(job #334482)
| Utilizator | Data | 26 iulie 2009 22:32:25 | |
|---|---|---|---|
| Problema | Oz | Scor | 55 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.71 kb |
#include <stdio.h>
int n,m,k,v[10009],a[100009],b[100009],c[100009];
int cmmmc(int a, int b)
{int r,q,w;
q=a;w=b;
while(b!=0)
{r=a%b;
a=b;
b=r;}
return ((q*w)/a);
}
int main()
{
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
scanf("%d %d",&n,&m);
for (k=1;k<=n;k++) v[k]=1;
for (k=1;k<=m;k++)
{scanf("%d %d %d",&a[k],&b[k],&c[k]);
v[a[k]]=cmmmc(v[a[k]],c[k]);
v[b[k]]=cmmmc(v[b[k]],c[k]);
}
for (k=1;k<=m;k++) if ((v[a[k]]*v[b[k]])/cmmmc(v[a[k]],v[b[k]])!=c[k]) {printf("-1");k=-1;break;}
if (k!=-1)
for (k=1;k<=n;k++) printf("%d ",v[k]);
return 0;} 