酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

C++模拟护盾攻击算法实现

以下是一个 C++ 的实现,按照题目的规则模拟攻击过程并输出最终的护盾值。 ```cpp #include <iostream> #include <vector> using namespace std; int main() { vector<int> shields(5); for (int i = 0; i < 5; i++) { cin >> shields[i]; } int n; cin >> n; for (int i = 0; i < n; i++) { int type; cin >> type; if (type == 1) { // 粒子炮:所有敌人护盾减5 for (int j = 0; j < 5; j++) { shields[j] -= 5; } } else if (type == 2) { int target; cin >> target; target--; // 转为 0-based 索引 // 集束粒子炮:指定敌人和旁边两人护盾减半(整除2) // 先处理目标 shields[target] /= 2; // 处理左边的人 if (target - 1 >= 0) { shields[target - 1] /= 2; } // 处理右边的人 if (target + 1 < 5) { shields[target + 1] /= 2; } } } // 处理负数变为0 for (int j = 0; j < 5; j++) { if (shields[j] < 0) { shields[j] = 0; } } // 输出结果 for (int j = 0; j < 5; j++) { cout << shields[j] << " "; } cout << endl; return 0; } ``` ######[AI问答 | 404点数解答 | 2026-06-07 19:23:42]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]