Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
算一下对角线就可以了吧?In Reply To:不能忍了,总WA贴代码上来,大家帮查一下好么?thx Posted by:seol at 2004-12-08 19:01:32 > #include <stdio.h> > #include <math.h> > > double a[1010][1010]; > int x[1000],y[1000]; > > int main() > { > int n,e,nn,ee,i,j,temp; > double re1,re2,re3,max,mmax; > for (i=0;i<1010;i++) for (j=0;j<1010;j++) a[i][j]=0.0; > scanf("%d%d",&n,&e); > for (nn=0;nn<n-1;nn++) scanf("%d",&x[nn]); > for (ee=0;ee<e-1;ee++) scanf("%d",&y[ee]); > for (nn=n-1;nn>=0;nn--) for (ee=e-1;ee>=0;ee--) { > if (nn==n-1) if (ee==e-1) continue; > if (nn!=n-1) if (ee!=e-1) { > re1=a[nn+1][ee+1]+sqrt(x[nn]*x[nn]+y[nn]*y[nn]); > re2=a[nn+1][ee]+y[nn]; > re3=a[nn][ee+1]+x[nn]; > max=re1; > if (re2<max) max=re2; > if (re3<max) max=re3; > a[nn][ee]=max; > } > if (nn!=n-1) if (ee==e-1) a[nn][ee]=y[nn]+a[nn+1][ee]; > if (nn==n-1) if (ee!=e-1) a[nn][ee]=x[ee]+a[nn][ee+1]; > } > mmax=a[0][0]; > for (ee=0;ee<=e/2-1;ee++) {temp=y[ee];y[ee]=y[e-2-ee];y[e-2-ee]=temp;} > for (nn=n-1;nn>=0;nn--) for (ee=e-1;ee>=0;ee--) { > if (nn==n-1) if (ee==e-1) continue; > if (nn!=n-1) if (ee!=e-1) { > re1=a[nn+1][ee+1]+sqrt(x[nn]*x[nn]+y[nn]*y[nn]); > re2=a[nn+1][ee]+y[nn]; > re3=a[nn][ee+1]+x[nn]; > max=re1; > if (re2<max) max=re2; > if (re3<max) max=re3; > a[nn][ee]=max; > } > if (nn!=n-1) if (ee==e-1) a[nn][ee]=y[nn]+a[nn+1][ee]; > if (nn==n-1) if (ee!=e-1) a[nn][ee]=x[ee]+a[nn][ee+1]; > } > if (a[0][0]>mmax) mmax=a[0][0]; > i=0; > while (i<mmax-1e-10) i++; > printf("%d\n",i); > return 0; > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator