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

护盾攻击问题的 C++ 实现:计算最小伤害

以下是使用 C++ 实现该功能的代码: ```cpp #include <iostream> #include <vector> #include <algorithm> int main() { int n, m; // 读取护盾个数 n 和攻击组数 m std::cin >> n >> m; // 初始化每个护盾的伤害为 0 std::vector<int> shields(n + 1, 0); for (int i = 0; i < m; ++i) { int L, R, s; // 读取每轮攻击的范围 L 到 R 以及伤害点数 s std::cin >> L >> R >> s; // 对指定范围内的护盾加上伤害 for (int j = L; j <= R; ++j) { shields[j] += s; } } // 找到伤害最小的护盾的伤害值 int minDamage = shields[1]; for (int i = 2; i <= n; ++i) { if (shields[i] < minDamage) { minDamage = shields[i]; } } // 输出伤害最小的护盾的伤害值 std::cout << minDamage << std::endl; return 0; } ``` ### 代码解释: 1. **输入处理**:首先读取护盾的个数 `n` 和攻击的组数 `m`。 2. **护盾伤害初始化**:使用 `std::vector` 存储每个护盾的伤害,初始值都为 0。 3. **攻击处理**:对于每一轮攻击,读取攻击范围 `L` 到 `R` 以及伤害点数 `s`,并将该范围内的护盾的伤害加上 `s`。 4. **寻找最小伤害**:遍历所有护盾的伤害值,找到最小值。 5. **输出结果**:输出伤害最小的护盾的伤害值。 ######[AI问答 | 453点数解答 | 2026-06-13 21:25:59]

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