A86703111 2023-11-04 18:50 采纳率: 0%
浏览 20

修复信号灯c++通过 FJ 农场的漫长的道路上有 N 条人行横道。。

第3题 修复信号灯
K个连续的工作信号灯。

输入样例:

10 6 5

2

10

1

5

9

输出样例:

1

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-05 05:58
    关注

    【以下回答由 GPT 生成】

    首先,根据题目给出的输入样例,我们可以看到N表示横道的数量,K表示需要修复的连续工作信号灯的数量,M表示信号灯的数量。

    我们可以创建一个长度为N的数组,表示每一条横道上的信号灯是否工作。初始时,所有信号灯都是工作的。

    然后,我们需要根据输入的M个需修复的信号灯的位置,将对应位置上的信号灯设置为需要修复。具体步骤如下:

    1. 首先,读取输入的N、K和M。

    2. 创建一个长度为N的数组lights,初始值都设置为1,表示所有信号灯工作。

    3. 读取M个需修复的信号灯位置,并将对应位置上的信号灯设置为需要修复,即将lights数组中对应位置上的元素设置为0。

    4. 遍历lights数组,找到连续K个工作信号灯的起始位置。具体步骤如下:

    5. 初始化一个变量start为0,表示起始位置。
    6. 初始化一个变量count为0,表示连续工作信号灯的数量。
    7. 遍历lights数组,从索引0开始,判断当前位置的信号灯是否工作。如果工作,则将count加1;否则,将count设置为0,并将start更新为当前位置的下一个位置。
    8. 在遍历过程中,如果count的值等于K,则找到了连续K个工作信号灯的起始位置,退出循环。

    9. 输出起始位置start

    完整的代码如下所示:

    #include <iostream>
    #include <vector>
    
    int main() {
        int N, K, M;
        std::cin >> N >> K >> M;
    
        std::vector<int> lights(N, 1); // 初始化所有信号灯为工作状态
    
        for (int i = 0; i < M; i++) {
            int position;
            std::cin >> position;
            lights[position - 1] = 0; // 将对应位置上的信号灯设置为需要修复
        }
    
        int start = 0;
        int count = 0;
    
        for (int i = 0; i < N; i++) {
            if (lights[i] == 1) {
                count++;
                if (count == K) {
                    start = i - K + 1;
                    break;
                }
            } else {
                count = 0;
                start = i + 1;
            }
        }
    
        std::cout << start << std::endl;
    
        return 0;
    }
    

    该程序首先读取输入的N、K和M,然后创建一个长度为N的数组lights,初始值为1。接下来,根据输入的M个需修复的信号灯位置,将对应位置上的信号灯设置为0。然后,通过遍历lights数组,找到连续K个工作信号灯的起始位置,并输出起始位置。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 11月4日

悬赏问题

  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)的连乘积
  • ¥15 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计