RQNOJ 356 mty的格斗 dp
PID356 / mty的格斗
题目描述
’恩 ~~这个和这个也是朋友.把他们放在一起......哇!终于完成了’mty费了好大劲,终于找出了一支最为庞大的军队.
fyc很高兴,立马出征与人fight.mty万万没想到fyc竟然把他也叫去了.偶像的命令不可违抗,mty只好跟着出发了.
两军交战采用一对一单挑的形式.mty一上来就遇到了一个对手.此人身高2米12,头大,腿粗.....这个人fight崇尚防守反击,他要等mty出手,漏出破绽才进攻,且只进攻一次.现在mty有p个招数,每招都会给对方造成伤害,也会让对手有可趁之机来攻击自己,造成伤害.
mty进攻一次需1秒,而他的对手出招很快,进攻时间可以忽略不计.
mty想在最短时间内战胜对方,请你帮帮忙.
第一行,三个数,n,m,p(对方有n点HP,mty有m点,mty有p个招数); n<=100,m<=100,p<=1000;
接下来p行,每行两个数,x[i],y[i](表示这招会给对方造成x[i]点伤害,对手会给mty造成y[i]点伤害);
只有当对方HP为0,不包括负数,mtyHP为正数时,mty才算赢
一个数表示mty要战胜对手所需最少秒数.如果,mty不可能赢,就输出’mty zhen mei yong!’(不包括引号)
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000007
#define esp 0.00000000001
const int N=1e3+,M=1e6+,inf=1e9;
int dp[N][N];
int a[N],b[N];
int main()
{
int x,y,z,i,t;
while(~scanf("%d%d%d",&x,&y,&z))
{
for(i=;i<=x;i++)
for(t=;t<=y;t++)
dp[i][t]=inf;
for(i=;i<z;i++)
scanf("%d%d",&a[i],&b[i]);
dp[x][y]=;
for(int j=;j<z;j++)
{
for(i=;i<=x-a[j];i++)
{
for(t=;t<=y-b[j];t++)
dp[i][t]=min(dp[i+a[j]][t+b[j]]+,dp[i][t]);
}
}
int ans=inf;
for(i=;i<=y;i++)
ans=min(ans,dp[][i]);
if(ans==inf)
printf("mty zhen mei yong!\n");
else
printf("%d\n",ans);
}
return ;
}
/*
dp[i][t]=min(dp[i+a[j]][t+b[j]]+1,dp[i][t]);
dp[i][t]表示最小的使用秒数;
i表示对方的HP;t表示mty的HP;
*/
RQNOJ 356 mty的格斗 dp的更多相关文章
- RQNOJ 569 Milking Time:dp & 线段问题
题目链接:https://www.rqnoj.cn/problem/569 题意: 在一个数轴上可以摆M个线段,每个线段的起始终止端点给定(为整数),且每个线段有一个分值,问如何从中选取一些线段使得任 ...
- RQNOJ 140 分配时间:dp
题目链接:https://www.rqnoj.cn/problem/140 题意: 小王参加的考试是几门科目的试卷放在一起考,一共给t分钟来做. 他现在已经知道第i门科目花k分钟可以拿到w[i][k] ...
- NOIP 2000 提高组 题解
NOIP2000 提高组 题解 No 1. 进制转换 https://www.rqnoj.cn/problem/295 水题 对于n和基数r, 每次用n mod r, 把余数按照逆序排列 注意 mod ...
- RQNOJ 188 购物问题:树形dp
题目链接:https://www.rqnoj.cn/problem/188 题意: 商场以超低价格出售n个商品,购买第i个商品所节省的金额为w[i]. 为了防止亏本,有m对商品是不能同时买的.但保证商 ...
- RQNOJ 514 字串距离:dp & 字符串
题目链接:https://www.rqnoj.cn/problem/514 题意: 设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为”abcbcd”,则字 ...
- RQNOJ 328 炮兵阵地:状压dp
题目链接:https://www.rqnoj.cn/problem/328 题意: 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队. 一个N*M的地图由N行M列组成(N≤100,M≤10), ...
- RQNOJ 311 [NOIP2000]乘积最大:划分型dp
题目链接:https://www.rqnoj.cn/problem/311 题意: 给你一个长度为n的数字,用t个乘号分开,问你分开后乘积最大为多少.(6<=n<=40,1<=k&l ...
- RQNOJ 169 最小乘车费用:水dp
题目链接:https://www.rqnoj.cn/problem/169 题意: 给出行驶1-10公里的费用(所有车一样),可以倒车,问行驶n公里的最小费用. 题解: 大水题... (=´ω`=) ...
- RQNOJ 624 运动鞋:dp
题目链接:https://www.rqnoj.cn/problem/624 题意: 小明有奖学金啦!所以他要去买运动鞋. 总共有n款鞋,分别属于t个品牌. 每款鞋的价格为c[i],在小明心目中的价值为 ...
随机推荐
- git学习------>Git 分支管理最佳实践
ps:本文转载于 : https://www.ibm.com/developerworks/cn/java/j-lo-git-mange/index.html Git 是目前最流行的源代码管理工具.大 ...
- pycharm修改选中字体颜色
File->Setting->Editor->Color Scheme->General Scheme:Monokai 在方框内: Editor->Section Bac ...
- VS安装程序制作之MSI/EXE
MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据.MSI文件将程序的组成文件与功能关联起来 ...
- java 字符串截取的方法
1.split()+正则表达式来进行截取. 将正则传入split().返回的是一个字符串数组类型.不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时. String str = " ...
- 如何制作一款HTML5 RPG游戏引擎——第三篇,利用幕布切换场景
开言: 在RPG游戏中,如果有地图切换的地方,通常就会使用幕布效果.所谓的幕布其实就是将两个矩形合拢,直到把屏幕遮住,然后再展开直到两个矩形全部移出屏幕. 为了大家做游戏方便,于是我给这个引擎加了这么 ...
- C的指针疑惑:C和指针13(高级指针话题)
传递命令行参数 C程序的main函数具有两个形参.第一个通常称为argc,代表命令行参数的数目. 第二个通常称为argv,它指向一组参数值.由于参数的数目并没有内在的限制,所以argv指向这组参数值( ...
- 使用yeoman起一个新项目(个人练习记录,勿喷!)
1.首先安装yeoman:npm install -g yo2.yeoman需要generator来进行操作所以需要安装generator模块:npm install -g generator-web ...
- 接口返回值结果转换成JSON
接口返回值结果转换成JSON,具体的方法如下: public static String GetJsonValue(String result,int index,String key){ int i ...
- loadrunner配置多台负载机设置
面对并发量比较大的性能需求,用单台机子进行加压由于本身硬件资源.网络资源等的限制已经不能满足该性能测试条件,这个时候就需要在场景中添加多台负载机来联机做性能测试.添加多台负载机的设置非常简单下面做一个 ...
- Please check registry access list (whitelist/blacklist)
https://blog.csdn.net/sprita1/article/details/51735566