C++ 实现区域打扫干净度计算程序
以下是一个用 C++ 实现的解决方案,用于处理你所描述的问题。这个程序的主要功能是根据输入的区域数量和打扫次数,以及每次打扫的范围和干净度增加的值,来计算最终每个区域的干净度。 ```cpp #include <iostream> #include <vector> using namespace std; int main() { int n, q; // 读取区域的数 n 和打扫次数 q cin >> n >> q; // 初始化每个区域的干净度为 0 vector<int> cleanliness(n + 1, 0); for (int i = 0; i < q; ++i) { int Li, Ri, Xi; // 读取每次打扫的范围和干净度增加的值 cin >> Li >> Ri >> Xi; // 在指定范围内增加干净度 for (int j = Li; j <= Ri; ++j) { cleanliness[j] += Xi; } } // 输出每个区域的最终干净度,从第 1 个区域开始 for (int i = 1; i <= n; ++i) { cout << cleanliness[i] << (i == n ? "\n" : " "); } return 0; } ``` ### 代码说明: 1. **输入处理**:首先读取两个整数 `n` 和 `q`,分别表示区域的数量和打扫次数。 2. **干净度数组**:使用 `vector<int> cleanliness(n + 1, 0)` 初始化一个长度为 `n + 1` 的数组,用于存储每个区域的干净度,初始值都为 0。数组下标从 1 开始,所以长度设为 `n + 1`。 3. **打扫操作**:通过一个循环读取 `q` 次打扫信息,每次读取三个整数 `Li`、`Ri` 和 `Xi`,表示打扫的范围和干净度增加的值。然后在 `[Li, Ri]` 范围内的每个区域的干净度都增加 `Xi`。 4. **输出结果**:遍历干净度数组,输出每个区域的最终干净度,区域之间用空格分隔,最后一个区域后面换行。 ######[AI问答 | 520点数解答 | 2026-02-27 19:37:43]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)330
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)298
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)53
- 不用VS!C#工程师必知的命令行编译方法(百度文心 | 19点数解答 | 2023-11-09 17:47:59)233
- C++实现单门课程成绩管理系统:教师学生双身份操作全解析(GPT | 6361点数解答 | 2024-05-24 02:01:02)520
- C++实现:功能完备的单门课程成绩管理系统(GPT | 4293点数解答 | 2024-05-24 10:20:03)367
- C++ 实现:轻松将键盘输入字符串大写字母转小写并输出(讯飞星火 | 191点数解答 | 2024-06-06 20:27:13)209
- C++ 实现:根据人员行为记录计算同学间好感度(字节豆包 | 252点数解答 | 2024-10-17 15:50:40)329
- C++程序:根据事件记录计算并输出多人好感度变化结果(阿里通义 | 698点数解答 | 2024-10-17 15:53:50)203
- C++实现:根据输入整数计算顾客找零金额(阿里通义 | 502点数解答 | 2024-10-17 15:56:27)276
- C++ 编程:帮卖菜妈妈算土豆找零,按规则处理零头!(阿里通义 | 463点数解答 | 2024-10-17 15:57:14)266
- C++ 实现初一班级同学好感度统计:随事件更新并输出最大值(阿里通义 | 726点数解答 | 2024-10-17 16:07:21)182