NO.1157 Litte Shop Of Flowers
动态规划
scanf和printf的确比cin和cout快得多,前者要16MS,而后者却要76MS.
#include<iostream.h>
#include<stdio.h>
void main(){
int F,V,i,j,k,max=0;
int value[101][101];
int dp[101][101]; //dp[i][j]存放的是第i朵花放在第j个花瓶时,前i束花的美观值之和的最大值
scanf("%d%d",&F,&V);
//cin>>F>>V;
for(i=0;i<F;i++)
for(j=0;j<V;j++)
scanf("%d",&value[i][j]);
for(i=0;i<F;i++)
for(j=0;j<V;j++)
dp[i][j]=-6000;
for(i=0;i<V;i++)
dp[0][i]=value[0][i];
for(i=1;i<F;i++)
for(j=i;j<V;j++){
for(k=i-1;k<j;k++)
if(dp[i][j]<(dp[i-1][k]+value[i][j])) //dp核心部分
dp[i][j]=dp[i-1][k]+value[i][j];
}
for(i=F-1;i<V;i++)
if(dp[F-1][i]>max)
max=dp[F-1][i];
printf("%d",max);
}

浙公网安备 33010602011771号