(~ ̄▽ ̄)~*

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std; const int N=30;
int n,h,H;//H:记录原本有多少小时的时间;h:贪心的时候,防止H被修改
int res[N],RES[N];//res[]:贪心的时候保存结果;RES[]:用于记录最终结果
int maxn,sum;//maxn:保存最终结果,即捕到的鱼最大值;sum:每轮贪心的时候,用来保存鱼最大值 struct ff
{
int f,d,t;//f:第i个湖里原本有的鱼数,d:第i个湖被捕过之后的鱼数,t:从第i-1到第i个湖需要的时间
};
ff f[N],F[N]; int main()
{
while(scanf("%d",&n)&&n)
{
memset(RES,0,sizeof(RES));
maxn=0;
scanf("%d",&H);
H*=12; //以5min为单位,输出结果的时候,记得乘以5
RES[0]=H;//赋初值H,因为有可能1……n-1湖都没有鱼,时间就都花在第一个湖了
for(int i=0;i<n;i++)
scanf("%d",&F[i].f);
for(int i=0;i<n;i++)
scanf("%d",&F[i].d);
for(int i=1;i<n;i++)
scanf("%d",&F[i].t); for(int k=0;k<n;k++)
{//在第0到第k个湖之间捕鱼
h=H;
sum=0;
memset(res,0,sizeof(res));
for(int i=0;i<n;i++)
f[i].f=F[i].f;//避免F[]被修改
for(int i=1;i<=k;i++)
h-=F[i].t; //把到第k个湖之前所用的时间全部减去,剩下的时间来捕鱼
if(h<=0) break; while(h--)
{//只要有时间,每次都去鱼最多的湖抓鱼(贪心)
int index=0;
for(int i=1;i<=k;i++)
if(f[i].f>f[index].f)
index=i;
sum+=f[index].f;
f[index].f-=F[index].d;//第index个湖被捕之后,就会少掉d条鱼,要更新f[].f值
if(f[index].f<0)
f[index].f=0;//还要注意避免负值
res[index]++;//只要在第index个湖捕鱼,那么在第index个湖就花去了时间1(单位为/5min)
}
if(sum>maxn)
{//更新最大值maxn,找到最优的状态,把数据记录在RES[]中,因为res[]会清零并用于下一轮的记录
maxn=sum;
for(int i=0;i<=k;i++)
RES[i]=res[i];
}
}
for(int i=0;i<n-1;i++)
printf("%d, ",RES[i]*5);//记得*5
printf("%d\n",RES[n-1]*5);//记得*5
printf("Number of fish expected: %d\n\n",maxn);
}
return 0;
}

最新文章

  1. hdu 4324 拓扑排序
  2. 浅谈JSON.parse()、JSON.stringify()和eval()的作用
  3. Spring Boot 性能优化
  4. Perl 引用与匿名数组
  5. Weblogic下部署的应用,当更新文件时需要重新安装部署
  6. boost 定时器.
  7. QT Creator 快速入门教程 读书笔记(一)
  8. 201521123026 《Java程序设计》第一周学习总结
  9. 用.Net Core控制台模拟一个ASP.Net Core的管道模型
  10. 记录一些移动端H5,小程序视觉还原问题及方法
  11. Cell自适应高度及自定义cell混合使…
  12. ES查询-term VS match (转)
  13. 用SAX解析xml文件,java
  14. Spring Cloud Config采坑记
  15. Log4j 1.x JDBCAppender记录日志失效问题详解
  16. CS231中的python + numpy课程
  17. Spark创建空的DataFrame
  18. Docker学习笔记之编写 Docker Compose 项目
  19. Golang匿名函数
  20. python Count类(转)

热门文章

  1. D3.js:Update、Enter、Exit
  2. 安装用户脚本的福音:Tampermonkey(油猴)
  3. ibatis-&gt;mybatis升级过程
  4. sort vector - leetcode 新用法
  5. metrics实践 (metrics-spring)
  6. AJAX应用的五个步骤
  7. 编写CodeMirror Modes详解
  8. mysql中timestamp的自动生成与更新
  9. hdu 2829 Lawrence(斜率优化DP)
  10. hdu1536Nim