卡车更新问题
来源:互联网 发布:mina 同步读取数据 编辑:程序博客网 时间:2024/06/10 20:56
卡车更新问题
Description
某人购置了一辆新卡车, 从事个体运输业务. 给定以下各有关数据:
以上各数据均为实型, 单位为”万元”.
设某卡车已使用过
① 如果继续使用, 则第
② 如果卖掉旧车,买进新车, 则第
该运输户从某年初购车日起,计划工作
为使这
Input
第
第
第
第
第
Output
第
第
年序号 ( 从
否更新 ( 当年如果更新,输出
当年回收额 (
Sample Input
4
5
8 7 6 5 4 2
0.5 1 2 3 4 5
0 2 3 5 8 10
Sample Output
24.5
1 0 7.5
2 1 5.5
3 1 5.5
4 0 6.0
Solution
设
若
否则
Code
#include <iostream>#include <cstdio>#include <cfloat>#define Max(x,y) ((x)>(y)?(x):(y))#define Min(x,y) ((x)<(y)?(x):(y))using namespace std;int n,k;double r[30],u[30],c[30],f[100000][30];int g[100000][30];double ans=DBL_MIN;void work(int year,int x){ if(year==1)return; work(year-1,g[year][x]); if(x==1)printf("%d %d %.1lf\n",year,1,f[n][x]-f[n-1][g[year][x]]); else printf("%d %d %.1lf\n",year,0,f[n][x]-f[n-1][g[year][x]]);}int main(){ freopen("truck.in","r",stdin); freopen("truck.out","w",stdout); memset(f,0xc2,sizeof f); double oo=f[0][0]; scanf("%d%d",&n,&k); for(int i=0;i<=k;i++)scanf("%lf",&r[i]); for(int i=0;i<=k;i++)scanf("%lf",&u[i]); for(int i=0;i<=k;i++)scanf("%lf",&c[i]); f[1][1]=r[0]-u[0]; for(int i=2;i<=n;i++){ for(int j=1;j<=k;j++){ if(j==1){ for(int l=1;l<=k;l++) if(f[i-1][l]!=oo){ if(f[i-1][l]+r[0]-u[0]-c[l]>f[i][j]){ f[i][j]=f[i-1][l]+r[0]-u[0]-c[l]; g[i][j]=l; } } } else{ if(f[i-1][j-1]!=oo){ f[i][j]=f[i-1][j-1]+r[j-1]-u[j-1]; g[i][j]=j-1; } } } } int ttt; for(int i=0;i<=k;i++){ if(f[n][i]>ans){ ans=f[n][i]; ttt=i; } } printf("%.1lf\n",ans); printf("%d %d %.1lf\n",1,0,r[0]-u[0]); work(n,ttt); return 0;}
- 卡车更新问题
- 卡车更新问题
- 卡车更新问题
- 卡车穿越沙漠问题
- 卡车过沙漠问题
- poj 1789 卡车编号
- 卡车分类+结构+组件
- 汽车和卡车
- 更新问题
- 卡车拉猪(C++)
- hibernate更新数据问题
- windowsXP 更新问题
- 关于datasource更新问题。
- ubuntu更新问题
- 更新错误问题
- hibernate动态更新问题
- phpcms更新栏目问题
- 数据库问题 更新中
- SpringBoot入门系列:第四篇 redis
- Android消息循环机制总结
- Hadoop十年解读与发展预测
- php去掉二维数组中某key的值
- 宁静致远 追随我心
- 卡车更新问题
- 嵌入式学习-uboot-lesson4.5-外设基地址初始化
- 自定义圆形进度条,金额百分比
- 配置文件分离的maven工程结构
- 第15周项目二—洗牌(2)
- Unity UGUI基础之Text
- smarty标签变量的来源
- 期末考试-至少有多少只恼人的大青蛙?(算法基础 第10周)
- Elasticsearch java API (8)删除API