【♂Not The Triumph♂O(∩_∩)O哈哈~But The Struggle♂】

竞赛决不是捷径,它只是另一种艰辛的生活方式。得到与失去,只有时间会去评判;成功与失败,只有历史能去仲裁。我不会永远成功,正如我不会永远失败一样

  C++博客 :: 首页 :: 联系 ::  :: 管理
  6 Posts :: 239 Stories :: 25 Comments :: 0 Trackbacks

常用链接

留言簿(7)

我参与的团队

搜索

  •  

积分与排名

  • 积分 - 104856
  • 排名 - 233

最新评论

阅读排行榜

评论排行榜

'恩 ~~这个和这个也是朋友.把他们放在一起......哇!终于完成了'mty费了好大劲,终于找出了一支最为庞大的军队.
fyc很高兴,立马出征与人fight.mty万万没想到fyc竟然把他也叫去了.偶像的命令不可违抗,mty只好跟着出发了.
两军交战采用一对一单挑的形式.mty一上来就遇到了一个对手.此人身高2米12,头大,腿粗.....这个人fight崇尚防守反击,他要等mty出手,漏出破绽才进攻,且只进攻一次.现在mty有p个招数,每招都会给对方造成伤害,也会让对手有可趁之机来攻击自己,造成伤害.
mty进攻一次需1秒,而他的对手出招很快,进攻时间可以忽略不计.
mty想在最短时间内战胜对方,请你帮帮忙.

INPUT:
第一行,三个数,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才算赢

OUTPUT:
一个数表示mty要战胜对手所需最少秒数.如果,mty不可能赢,就输出'mty zhen mei yong!'(不包括引号)

INPUT:
2 1 1
2 0

OUTPUT:
1

【参考程序】: 

#include<stdio.h>
#include
<stdlib.h>
#include
<string.h>
int n,m,a,b,k,p,i,j,ans;
int f[110][110];
bool bk;
int main()
{
    scanf(
"%d%d%d",&n,&m,&p);
    
for (i=0;i<=n;i++)
      
for (j=0;j<=m;j++)
        f[i][j]
=0xfffffff;
    f[
0][0]=0;
    
for (k=1;k<=p;k++)
    {
        scanf(
"%d%d",&a,&b);
        
for (i=n;i>=a;i--)
          
for (j=m;j>=b;j--)
             
if (f[i-a][j-b]+1<f[i][j])
               f[i][j]
=f[i-a][j-b]+1;
    }
    ans
=0xfffffff;bk=true;
    
for (i=0;i<=m-1;i++)
      
if (f[n][i]<ans)
      {
            ans
=f[n][i];
            bk
=false;
       }
    
if (bk) printf("mty zhen mei yong!\n");
    
else printf("%d\n",ans);
    system(
"pause");
    
return 0;
}


posted on 2009-03-29 08:40 开拓者 阅读(76) 评论(0)  编辑 收藏 引用 所属分类: 动态规划&背包

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理