若昕 2013-07-25 04:59:00
点我顶贴
收藏
删除
求大神帮忙看看哪里出了问题!!!!!
#include"stdio.h"
#include"string.h"
long max(long x,long y)
{
if(x>= y)
return x;
else
return y;
}
main()
{
long n,j,i,k,t,f[205][205]={},h[205];
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&h[i]);
for(i=1;i<=n;i++)
{h[n+i]=h[i];
}
for(i=1;i<2* n;i++)
for(j=2;j>=2*n;j++)
for(k=i;k<=j;k++)
f[i][j]=max(f[i][k]+f[k+1][j]+h[i]*h[k]*h[j],f[i][j]);
t=f[1][n];
for(i=1;i<=2*n-1;i++)
if(f[i][n+i]>t)
t= f[i][n+i-1];
printf("%d",t);
return 0;
}