试题描述 |
两只跳虫在和陆战队员进行战斗。最初,陆战队员在跳虫离他一定距离时发现了跳虫(两只跳虫并排进攻),开始攻击(只能攻击一只)。当跳虫与陆战队员距离为0时,同时发动攻击。假设跳虫一个时间单位走一米,或每只攻击一次。陆战队员每个时间单位攻击一次。问最后是陆战队员赢了,还是跳虫赢。 VS |
输入 |
五个整数,n(n <= 87) , k(5 <= k <= 8), l(5 <= l <= 8), m(1 <= m <= 35), x(1 <= x <= 45)。 这几个数分别表示陆战队员发现敌人的距离,跳虫攻击力,陆战队员攻击力,每只跳虫最初血量,最后一个数为陆战队员的最初血量。 |
输出 |
输出Marine Win!或者Zergling Win! 陆战队员赢时输出Marine Win! 跳虫赢时输出Zergling Win! |
输入示例 |
11 6 5 45 35 |
输出示例 |
Zergling Win! |
其他说明 |
注意最后有换行! |
C++程序:
#include <iostream> using namespace std; int main() { int n; int k; int m; int l; int x; cin >> n >> k >> l >> m >> x; int marine = x; int zerg1 = m; int zerg2 = m; int distance = n; while(marine > 0 && (zerg1 > 0 || zerg2 > 0)) { if(distance && zerg1 > 0) { distance--; zerg1 -= l; } else if(distance && zerg1 <= 0 && zerg2 > 0) { distance--; zerg2 -= l; }else if(zerg1 > 0) { zerg1 -= l; marine -= k * 2; } else { zerg2 -= l; marine -= k; } } if(marine > 0) cout << "Marine Win!" << endl; else cout << "Zergling Win!" << endl; return 0; }
时间: 2025-01-01 07:42:56