教訓提莫 網易賽碼網在線筆試

教訓提莫

今天筆試網易,遇到一個有意思的題目:
蘭博和提莫每回合都攻擊對方,使用技能或者是普通攻擊,輸入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");
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章