C++ 实现计算多轮攻击后破碎护盾数量
以下是使用 C++ 实现的代码: ```cpp #include <iostream> #include <vector> using namespace std; int main() { int n, m, t; // 输入护盾个数 n、攻击组数 m 和护盾可承受的最大伤害数 t cin >> n >> m >> t; // 初始化每个护盾的伤害值为 0 vector<int> shields(n + 1, 0); for (int i = 0; i < m; i++) { int L, R, s; // 输入每轮攻击的起始护盾编号 L、结束护盾编号 R 和攻击伤害点数 s cin >> L >> R >> s; // 对编号从 L 到 R 的护盾加上攻击伤害 for (int j = L; j <= R; j++) { shields[j] += s; } } int brokenShields = 0; // 统计破碎的护盾数量 for (int i = 1; i <= n; i++) { if (shields[i] > t) { brokenShields++; } } // 输出破碎的护盾数量 cout << brokenShields << endl; return 0; } ``` ### 代码解释: 1. **输入处理**:首先读取护盾个数 `n`、攻击组数 `m` 和护盾可承受的最大伤害数 `t`。 2. **护盾伤害值初始化**:使用 `vector` 存储每个护盾的伤害值,初始值都为 0。 3. **攻击处理**:对于每一轮攻击,读取攻击的起始护盾编号 `L`、结束护盾编号 `R` 和攻击伤害点数 `s`,并将编号从 `L` 到 `R` 的护盾的伤害值加上 `s`。 4. **统计破碎护盾数量**:遍历所有护盾,统计伤害值大于 `t` 的护盾数量。 5. **输出结果**:输出破碎的护盾数量。 ######[AI问答 | 478点数解答 | 2026-06-13 20:47:37]
- 易语言读取文本文件并显示到超级列表框:代码示例与注意要点(DeepSeek | 571点数解答 | 2025-08-23 20:54:40)280
- 易语言:读取并显示特定文本到超级列表框,还能增加新数据的方法与要点(DeepSeek | 1317点数解答 | 2025-08-23 20:58:40)276
- mallshop商城网站:数据库设计与强大业务功能全揭秘(GPT | 257点数解答 | 2024-12-09 14:08:15)317
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)440
- 网络安全必知:CSRF 攻击揭秘与七大防御妙招! (百度文心 | 239点数解答 | 2023-11-09 18:35:43)262
- 网络安全工程师揭秘:DOS、DDoS、DRDoS攻击原理与防范策略(百度文心 | 327点数解答 | 2023-11-09 18:35:59)256
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)394
- 用Python处理商品销售数据:替换类别、合并类目并输出前5行(百度文心 | 486点数解答 | 2024-08-23 09:14:21)336
- Python 破解:计算序列中满足特定取余条件元素的数量(字节豆包 | 174点数解答 | 2025-05-13 21:29:55)213
- 一文搞定!无名杀“再生安瓿”技能代码全解析及注意事项(字节豆包 | 464点数解答 | 2025-06-15 20:06:30)204
- C# 实现商品类:数量限制 100 及开发注意要点(字节豆包 | 737点数解答 | 2025-09-03 14:44:56)123
- 易语言多线程实战:获取进程信息、读写内存与多线程协同操作(字节豆包 | 790点数解答 | 2025-11-28 03:08:24)72