博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ZOJ 3623 Battle Ships DP
阅读量:6089 次
发布时间:2019-06-20

本文共 2081 字,大约阅读时间需要 6 分钟。

B - Battle Ships

Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu

Submit
Appoint description:
 

Description

Battle Ships is a new game which is similar to Star Craft. In this game, the enemy builds a defense tower, which has L longevity. The player has a military factory, which can produce N kinds of battle ships. The factory takes ti seconds to produce the i-th battle ship and this battle ship can make the tower loss li longevity every second when it has been produced. If the longevity of the tower lower than or equal to 0, the player wins. Notice that at each time, the factory can choose only one kind of battle ships to produce or do nothing. And producing more than one battle ships of the same kind is acceptable.

Your job is to find out the minimum time the player should spend to win the game.

Input

There are multiple test cases.

The first line of each case contains two integers N(1 ≤ N ≤ 30) and L(1 ≤ L ≤ 330), N is the number of the kinds of Battle Ships, L is the longevity of the Defense Tower. Then the following N lines, each line contains two integers t i(1 ≤ t i ≤ 20) and li(1 ≤ li ≤ 330) indicating the produce time and the lethality of the i-th kind Battle Ships.

Output

Output one line for each test case. An integer indicating the minimum time the player should spend to win the game.

Sample Input

1 11 12 101 12 53 1001 103 2010 100

Sample Output

245
//dp[i]代表时间为i时最多可以打掉的血//然后找到第一个dp[i]>=L,那么就是最短的时间//采用的是用当前状态去更新后面状态//对于,j+T[i]时间段内,//dp[j]更新dp[j+T[i]],表示一开始的T[i]秒是在建武器i//在j的时间段内武器i一直都在工作,然后J时间段内套用j+T[i]时间段内的含义.//所以该动规方法是可行的#include 
#include
#include
#include
using namespace std;int N,L;int T[34],l[34];int dp[334];int main(){ int i,j; while(scanf("%d%d",&N,&L)!=EOF) { for(i=1;i<=N;i++) scanf("%d%d",&T[i],&l[i]); memset(dp,0,sizeof(dp)); for(j=1;j<=L;j++) for(i=1;i<=N;i++) dp[j+T[i]]=max(dp[j]+l[i]*j,dp[j+T[i]]); for(i=1;i<=330;i++) if(dp[i]>=L) break; printf("%d\n",i); } return 0;}

 

转载地址:http://lilwa.baihongyu.com/

你可能感兴趣的文章
中国ERP三大流程 国外ERP黯然失色
查看>>
js 的 slice方法
查看>>
Java网络编程(一)流
查看>>
Unix整理笔记——安全性——里程碑M13
查看>>
【斗医】【1】Web应用开发20天
查看>>
Yii 2 —— session
查看>>
烂泥:haproxy学习之https配置
查看>>
给C语言初学者的忠告——计算机达人成长之路(27)
查看>>
【思考】互联网产业发展趋势
查看>>
Vmware view 5.0 POC环境搭建参考v1.0
查看>>
编程小知识点范例-1
查看>>
同一Tomcat 多个端口部署不同的项目
查看>>
mysql启用审计功能
查看>>
《ASP.NET 开发从入门到精通》----第1章 ASP.NET基础 1.1 认识网页和网站
查看>>
从Docker Hub和docker-registry看优秀的后端服务设计实现
查看>>
暴增 Emacs 生产力的十大最佳插件
查看>>
C语言蛇形填数
查看>>
Java Reflection(四):变量
查看>>
图解css3:核心技术与案例实战. 2.2 基本选择器
查看>>
《通信技术导论(原书第5版)》——1.5 通过多路复用增加网络容量
查看>>