酷代码 AI
菜单
服务商

C++ 实现雪人部落关灯问题,计算剩余亮灯数量

以下是使用 C++ 语言实现该功能的代码: ```cpp #include <iostream> #include <vector> int main() { // 初始化 10 盏灯,初始状态都为亮(用 true 表示亮) std::vector<bool> lights(10, true); int start, end; for (int i = 0; i < 2; ++i) { // 读取起点和终点 std::cin >> start >> end; // 确保起点小于等于终点 if (start > end) { int temp = start; start = end; end = temp; } // 将从起点到终点的灯熄灭(置为 false) for (int j = start - 1; j < end; ++j) { lights[j] = false; } } // 统计亮着的灯的数量 int count = 0; for (bool light : lights) { if (light) { ++count; } } // 输出亮着的灯的数量 std::cout << count << std::endl; return 0; } ``` ### 代码解释: 1. 首先,使用 `std::vector<bool>` 来表示 10 盏灯,初始状态都为亮(用 `true` 表示)。 2. 然后,通过一个循环读取两次起点和终点坐标。在读取过程中,如果起点大于终点,交换它们的值以确保起点小于等于终点。 3. 接着,将从起点到终点的灯熄灭(将对应位置的元素置为 `false`)。 4. 遍历 `lights` 向量,统计亮着的灯的数量(值为 `true` 的元素个数)并输出结果。 ######[AI问答 | 442点数解答 | 2026-02-27 19:37:10]

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