算法导论 思考题 15-12(签约棒球自由球员)
来源:互联网 发布:淘宝在手机上怎么装修 编辑:程序博客网 时间:2024/04/27 21:09
#include <stdio.h>#include <stdlib.h>#define BUDGET 20#define N 5int VORP[N+1]={0,2,9,1,3,8};int COST[N+1]={0,3,8,1,4,10};void dp(int**DP,int**Trace){for(int i=1;i<N+1;i++){for(int j=COST[i];j<BUDGET+1;j++){int x=DP[i-1][j-COST[i]]+VORP[i];int y=DP[i-1][j];if(x>=y)//雇佣{DP[i][j]=x;Trace[i][j]=j-COST[i];}else//不雇佣{DP[i][j]=y;Trace[i][j]=j;}}}}void printDP(int**DP){for(int i=0;i<N+1;i++){for(int j=0;j<BUDGET+1;j++){printf("%2d ",DP[i][j]);}printf("\n");}}void getTrace(int**Trace){int j=BUDGET;for(int i=N;i>=1;i--){if(Trace[i][j]==j-COST[i])printf("%d ",VORP[i]);j=Trace[i][j];}printf("\n");}void main(){int **DP=(int**)malloc((N+1)*sizeof(int*));int **Trace=(int**)malloc((N+1)*sizeof(int));for(int i=0;i<N+1;i++){DP[i]=(int*)malloc((BUDGET+1)*sizeof(int));Trace[i]=(int*)malloc((BUDGET+1)*sizeof(int));}for(int i=0;i<N+1;i++){for(int j=0;j<BUDGET+1;j++){DP[i][j]=0;Trace[i][j]=0;}}dp(DP,Trace);printDP(DP);printf("\n");printDP(Trace);printf("\n");getTrace(Trace);getchar();}
阅读全文
0 0
- 算法导论 思考题 15-12(签约棒球自由球员)
- 算法导论之动态规划 签约棒球自由球员
- 算法设计15-8签约棒球自由球员
- 动态规划之签约棒球自由球员
- 算法导论 思考题 12-2
- 算法导论思考题答案 思考题15-2 整齐打印
- 算法导论 思考题 15-4(整齐打印)
- 算法导论 思考题 15-9(字符串拆分)
- 算法导论 思考题 15-11(库存规划)
- 算法导论十二章思考题12-4
- 算法导论思考题[6-2]
- 算法导论思考题2-4
- 算法导论第八章思考题
- 《算法导论》动态规划-思考题
- 算法导论 思考题2-1
- 算法导论 思考题 2-1
- 算法导论 思考题 2-2
- 算法导论 思考题 2-3
- Hibernate CURD(增删改查)单例创建SessionFactory对象
- 第37章 连续时间信号的复频域分析
- android menu toolbar
- 时间处理
- Azure Linux Agent 的安装和使用
- 算法导论 思考题 15-12(签约棒球自由球员)
- C/C++生成可执行文件过程
- 度度熊回家
- JavaScript第二单元的基础知识
- LAMP 环境手动搭建
- Trustzone的一些理解
- 接收RTCP包的流程
- iOS App打包测试的解决方法一
- New Document