kvpxk 2022-07-14 10:43 采纳率: 0%
浏览 25

请看看我为什么RE了

请看看我为什么RE了

#include <iostream>
#include <string>
#include <cmath>

using namespace std;

string s = " ";
int q;

int main() {
    for (cin >> q; q; q--) {
        char c;
        cin >> c;
        if (c == 'I') {
            int i;
            string x;
            cin >> i >> x;
            s.insert(i, x);
        }
        else {
            int x;
            cin >> x;
            s.replace(max(x - 1, 0), x, " ");
        }
    }
    cout << s << endl;
    return 0;
}
  • 写回答

1条回答 默认 最新

  • 浪客 2022-07-14 11:49
    关注

    cin >> i >> x;
    s.insert(i, x);
    s.replace(max(x - 1, 0), x, " ");
    这2处里i,x可能会越界

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月14日

悬赏问题

  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强
  • ¥15 心碎了,为啥我的神经网络训练的时候第二个批次反向传播会报错呀,第一个批次都没有问题
  • ¥15 MSR2680-XS路由器频繁卡顿问题
  • ¥15 VB6可以成功读取的文件,用C#读不了