教训提莫 网易赛码网在线笔试

教训提莫

今天笔试网易,遇到一个有意思的题目:
兰博和提莫每回合都攻击对方,使用技能或者是普通攻击,输入A是普通攻击,B是技能。兰博的技能是毒,提莫的技能是盾。

题目
测试用例

下面就是代码了。
#include <iostream>
using namespace std;

int main() {
  int HP1, HP2, A1, A2, t;
  char JN_A, JN_B;
  cin >> HP1 >> HP2 >> A1 >> A2 >> t;
  bool poision = false;
  for (; t > 0; --t) {
    cin >> JN_A >> JN_B;
    if (JN_A == 'A') {
      if (JN_B != 'B') {
        HP2 -= A1;
        if (!poision)    //未中毒,攻击有效
          HP1 -= A2;
      }
      poision = false;   //毒解开
      HP1 = HP1 < 0 ? 0 : HP1;
      HP2 = HP2 < 0 ? 0 : HP2;
      if (HP2 == 0) {
        cout << "YES";
        return 0;
      }
      if (HP1 == 0) {
        cout << "NO";
        return 0;
      }
    } else {
      if (JN_B == 'A')
        poision = true;   //中毒
      else
        poision = false;  //毒解开
    }

  }
  cout << (HP1 >= HP2 ? "YES" : "NO");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值