酷代码 AI
菜单
服务商

C++实现御坂打怪:确定怪物死亡顺序的优化代码

```cpp #include <iostream> #include <vector> #include <queue> using namespace std; int main() { int n, k; cin >> n >> k; vector<int> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } priority_queue<pair<int, int>> q; // 大顶堆,存储怪物生命值和编号 for (int i = 0; i < n; i++) { q.push({a[i], i + 1}); } vector<int> res; while (!q.empty()) { pair<int, int> top = q.top(); q.pop(); top.first -= k; if (top.first <= 0) { res.push_back(top.second); } else { q.push(top); } } for (int i : res) { cout << i << " "; } return 0; } // 额外注意点: // 1. 输入数据的合法性检查。 // 2. 处理边界情况,如只有一个怪物的情况。 // 3. 代码的可扩展性,方便后续功能的添加。 ``` ######[AI写代码神器 | 293点数解答 | 2025-02-11 21:48:02]

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