pzzzing 2022-03-02 17:15 采纳率: 50%
浏览 27
已结题

c++语言在洛谷刷题遇到的疑问

#include <bits/stdc++.h>
using namespace std;


int main() {
    int n;
    cin >> n;
    int a[n][n];
    int t = 0;
    int c;
    int hang,lie = 0;
    bool isZero = true;
    while(t < n*n) {
        cin >> c;
        t+=c;
        for(int i = 0; i < c; i++) {
            if(lie == n && hang < n) {
                hang++;
                lie = 0;
            }
            a[hang][lie++] = (isZero==true?0:1);
        }
        isZero = !isZero;
    }
    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
            cout << a[i][j];
        }
        cout << endl;
    }
    return 0;
}

这是本人的代码 然后提交上去选择c++20 全部re,我也不清楚问题在哪 使用codeblocks能得到正确答案,而当我提交的时候加上了o2优化的时候,却奇迹般的全部wa了。我实在不懂 ,请问有人帮忙解决吗,感激不尽

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2022-03-02 17:27
    关注

    变量hang没有初始化为0啊
    如果hang没有初始化,那么
    if(lie == n && hang < n) {
    hang++;
    显然就有问题了。hang默认值可能不是0,二是一个较大的负数随机数。自然全错了。O2优化是不是会给变量默认初始值为0,所以就OK呢
    11行修改一下
    int hang = 0,lie = 0;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 创建了问题 3月2日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵