【动态规划】【RQNOJ】mty的格斗
2010-07-17 20:51
246 查看
题目描述
'恩 ~~这个和这个也是朋友.把他们放在一起......哇!终于完成了'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<stdio.h> int f[200][200]; int n,m,p,ans=999999,x,y; int main() { scanf("%d%d%d",&n,&m,&p); for (int i=0;i<=n;++i) for (int j=0;j<=m;++j) f[i][j]=999999; f [m]=0; for (int i=1;i<=p;++i) { scanf("%d%d",&x,&y); for (int j=0;j<=n-x;++j) for (int k=0;k<=m-y;++k) if (f[j+x][k+y]!=999999) if (f[j+x][k+y]+1<f[j][k]) f[j][k]=f[j+x][k+y]+1; } for (int i=1;i<=m;++i) if (f[0][i]<ans) ans=f[0][i]; if (ans==999999) printf("mty zhen mei yong!/n"); else printf("%d/n",ans); return 0; }
相关文章推荐
- rqnoj-356-mty的格斗-二维背包
- RQNOJ 356 mty的格斗 dp
- 【解题报告】[动态规划] RQNOJ - PID38 / 串的记数
- 【动态规划】【RQNOJ】刘翔!加油!
- RQNOJ--15--采药(动态规划)
- RQNOJ PID302 / [NOIP2001]统计单词个数 (动态规划)
- 【解题报告】[动态规划] RQNOJ - PID15 / 采药
- 【动态规划】【RQNOJ】庆功会
- 【动态规划】【RQNOJ】大地的秘密
- 【动态规划】逃亡的准备rqnoj98
- rqnoj-390-地震了!-动态规划
- rqnoj-390-地震了!-动态规划
- 【解题报告】[动态规划]RQNOJ - PID82 / 又上锁妖塔
- 【解题报告】[动态规划]RQNOJ - PID72 / 拔河比赛
- 【动态规划】【RQNOJ】书的复制
- RQNOJ356_mty的格斗
- 【rqnoj】PID343 mty的考验
- 动态规划 RQNOJ 吃西瓜 最大子段和三维版
- 【解题报告】[动态规划] RQNOJ PID5 / 能量项链
- 【动态规划】【RQNOJ】公司聚会