酷代码 AI
菜单
服务商

C++ 实现多轮砍树操作后剩余树数量统计

以下是使用 C++ 实现该功能的代码: ```cpp #include <iostream> #include <vector> using namespace std; int main() { int n, q; // 输入树的数量 n 和操作次数 q cin >> n >> q; // 创建一个布尔类型的向量来表示每棵树的状态,初始都为 true 表示未被砍掉 vector<bool> trees(n + 1, true); for (int i = 0; i < q; ++i) { int L, R; // 输入每次操作的左右边界 cin >> L >> R; // 将 L 到 R 之间的树的状态标记为 false 表示已被砍掉 for (int j = L; j <= R; ++j) { if (j <= n) { trees[j] = false; } } } int remainingTrees = 0; // 统计剩余树的数量 for (int i = 1; i <= n; ++i) { if (trees[i]) { remainingTrees++; } } // 输出剩余树的数量 cout << remainingTrees << endl; return 0; } ``` ### 代码解释: 1. **输入处理**:首先读取树的数量 `n` 和操作次数 `q`。然后使用一个布尔类型的向量 `trees` 来表示每棵树的状态,初始时所有树的状态都为 `true`,表示未被砍掉。 2. **操作处理**:对于每次操作,读取左右边界 `L` 和 `R`,将 `L` 到 `R` 之间的树的状态标记为 `false`,表示已被砍掉。 3. **统计剩余树的数量**:遍历向量 `trees`,统计状态为 `true` 的树的数量,即为剩余树的数量。 4. **输出结果**:输出剩余树的数量。 ######[AI问答 | 478点数解答 | 2026-03-20 19:54:22]

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