警示后人

P1854 花店橱窗布置

``` #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f const int N=103; int f,v,m[N][N],dp[N][N],b[N][N],ans=-1e7; void show(int i,int j){ if(i==0) return; show(i-1,b[i][j]-1); cout<<b[i][j]<<' '; } int main(){ cin>>f>>v; for(int i=1;i<=f;i++){ for(int j=1;j<=v;j++){ cin>>m[i][j]; } } memset(dp,0xc0,sizeof dp); for(int i=1;i<=v;i++) dp[0][i]=0; for(int i=1;i<=f;i++) dp[i][0]=0; for(int i=1;i<=f;i++){ for(int j=i;j<=v-f+i;j++){ for(int k=i;k<=j;k++){ if(dp[i][j]<dp[i-1][k-1]+m[i][k]){ dp[i][j]=dp[i-1][k-1]+m[i][k]; b[i][j]=k; } } } } cout<<dp[f][v]<<endl; show(f,v); return 0; } ```
by zccc1021 @ 2023-07-16 14:47:48


|