您的位置:首页 > 运维架构

pku1157-------LITTLE SHOP OF FLOWERS(简单动态规划题:摆放鲜花使审美价值达到最高)

2009-01-12 13:04 337 查看
328K16MSGCC566B2009-01-12 12:55:30
设置一个best数组,两个用处:

1)存放输入数据

2)best[i][j]表示前i束花放到前j个花瓶中能得到的最大的审美价值。

那么:best[i][j]=max(best[i-1][k]) 1=<k<=j-1

代码如下:

Code

#include<stdio.h>

int f,v,best[102][102];

void input()

{

int i,j;

scanf("%d %d",&f,&v);

for(i=1;i<=f;i++)

for(j=1;j<=v;j++)

scanf("%d",&best[i][j]);

}

void process()

{

int i,j,max,k;

for(i=2;i<=f;i++)

for(j=1;j<=v;j++)

{

if(j<i) best[i][j]=-1000;

else{

max=-9999999;

for(k=j-1;k>0;k--)

if(best[i-1][k]>max)

max=best[i-1][k];

best[i][j]+=max;

}

}

i=f;max=-9999999;

for(j=f;j<=v;j++)

if(best[i][j]>max)

max=best[i][j];

printf("%d\n",max);

}

int main()

{

input();

process();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: