zcmu-1599 卡斯丁狗的炉石传说

【题述】

难点:

    题目读不明白;

题意:

    1.对手生命值剩余n,库牌剩余1,我生命值剩余1,手牌剩余4(2张’大家一起从库牌抽两张牌’牌,2张’让你从库牌中抽两张牌’牌);

    2.每个回合开始都要从库牌里抽一张;

    3.我们只需要关注对方从‘库牌中抽牌’的行为就行了,因为对方的库牌只有一张,库牌为零的时候才会有伤害消耗生命值;

第一回合开始 

1.对手从库牌中抽一张count=1,我从库牌中抽一张;

2.我使用四张功能牌(2张’大家一起从库牌抽两张牌’牌,2张’让你从库牌中抽两张牌’牌),对方从库牌中抽2*2+2*2=8张牌;

3.对手从库中共抽了9张,之前剩余一张,所以抽8张牌是有伤害的,1+2+3+4+5+6+7+8=36,找到临界值36;

【通过代码】

#include <stdio.h>
int main()
{
  int n;
  while(scanf("%d",&n)!=EOF){
  if(n>36)
    printf("wochengrenniyingle\n");
  else
    printf("duiciwohenbaoqian\n");
    }
        return 0;
}

【便于搜索】

    卡斯丁狗喜欢玩一款叫做炉石传说双人对战的回合制的卡牌游戏(喜欢前面再加两个字“极其”)。游戏规则是这样的:游戏开始时每个玩家有一定量的生命值和一定数量的手牌和库牌,玩家可以使用自己手上的随从牌召唤该随从到场上也可以用魔法牌施放魔法,每个回合都有一定的时间限制,并且每个回合刚开始时都会从牌库里面抽一张牌加入到手牌,本回合内该玩家可以使用多张牌。当某玩家牌库里面的牌用完时,便会受到疲劳伤害,抽第一张牌会受到1点伤害,第二张会受到2点伤害,第三张会受到3点伤害…….

         卡斯丁狗玩这个游戏的策略是这样的:消耗对手的库牌,直到对手受到疲劳伤害,然后慢慢嗝屁。

         假设现在对手的生命值是n,牌库里面还有一张牌。而卡斯丁狗的血量只有1,但是牌库里面还有很多牌。现在卡斯丁狗的手上有4张牌。2张随从牌寒光智者(每个玩家抽两张牌)和2张魔法牌自然平衡(消灭场上任意一个随从你的对手抽两张牌),而且卡斯丁狗都可以使用这4张牌。问卡斯丁狗能否在本回合或下一对手回合逆袭(当某个玩家生命值为0时game over)。

猜你喜欢

转载自blog.csdn.net/hzyhfxt/article/details/81121353