编程揭秘:雪人部落 10 盏灯按指令操作后亮灯数量计算
以下是补全后的代码以及详细解释: ```cpp #include <iostream> using namespace std; int light[15]; int main() { // 初始化前10盏灯为亮(1表示亮) for (int i = 1; i <= 10; i++) { light[i] = 1; } int start1, start2, end1, end2; // 输入第一次操作的起点和终点 cin >> start1 >> end1; // 输入第二次操作的起点和终点 cin >> start2 >> end2; // 关第一次灯 for (int i = start1; i <= end1; i++) { light[i] = 0; } // 关第二次灯 for (int i = start2; i <= end2; i++) { light[i] = 0; } int sum = 0; // 计数所有亮着灯的数量 for (int i = 1; i <= 10; i++) { if (light[i] == 1) { sum++; } } cout << sum; return 0; } ``` 代码解释: 1. 初始化部分:通过一个`for`循环将`light`数组的前10个元素初始化为1,表示所有灯一开始都是亮着的。 2. 输入部分:使用`cin`语句分别读取两次操作的起点和终点,将其存储在`start1`、`end1`、`start2`和`end2`变量中。 3. 关灯操作:使用两个`for`循环,分别根据第一次和第二次输入的起点和终点,将对应位置的灯熄灭(将`light`数组中对应位置的元素置为0)。 4. 计数部分:使用一个`for`循环遍历`light`数组的前10个元素,当元素的值为1时,表示该位置的灯是亮着的,将计数器`sum`加1。 5. 输出部分:使用`cout`语句输出最终亮着的灯的数量。 复杂度分析: - 时间复杂度:$O(n)$,其中$n$是灯的数量(这里$n = 10$)。因为只需要对每个灯进行常数时间的操作。 - 空间复杂度:$O(n)$,主要用于存储`light`数组的空间。 ######[AI问答 | 581点数解答 | 2026-01-10 19:45:23]
- 易语言读取文本文件并显示到超级列表框:代码示例与注意要点(DeepSeek | 571点数解答 | 2025-08-23 20:54:40)236
- 易语言:读取并显示特定文本到超级列表框,还能增加新数据的方法与要点(DeepSeek | 1317点数解答 | 2025-08-23 20:58:40)238
- Python实现Q老师成绩管理任务:修改与查看学生成绩(字节豆包 | 191点数解答 | 2025-12-20 20:55:41)83
- Python 代码助力 Q 老师高效管理班级学生成绩:修改与查看一键搞定(字节豆包 | 326点数解答 | 2025-12-27 20:48:12)91
- mallshop商城网站:数据库设计与强大业务功能全揭秘(GPT | 257点数解答 | 2024-12-09 14:08:15)280
- Python实现:轻松计算n阶数字矩阵主对角线之和(字节豆包 | 358点数解答 | 2025-12-08 12:25:06)78
- Python 实现:计算数字矩阵左上角数字之和(附代码及详解)(字节豆包 | 333点数解答 | 2025-12-08 17:52:36)85
- Python 巧算数字矩阵左上角数字之和,附代码与详细解释(字节豆包 | 387点数解答 | 2025-12-08 17:54:37)73
- 轻松搞定:计算数字矩阵主对角线之和的 C++ 实现(DeepSeek | 107点数解答 | 2025-12-29 12:22:27)58
- Python 实现消息队列:根据指令处理 put 与 get 操作(字节豆包 | 182点数解答 | 2024-10-19 20:10:02)282
- C++开发秘籍:解锁CPU与指令的性能优化密码(阿里通义 | 242点数解答 | 2023-11-09 00:47:14)321
- 编程助力禾木:判断数字 x 是否在 10^a 至 10^b 区间内(字节豆包 | 367点数解答 | 2026-02-07 18:34:36)30