测试数据能过,只有十分

P1319 压缩技术

jkluio1 @ 2024-02-13 20:21:10

#include<iostream>
using namespace std;
int main()
{
    int cent=0,n,x,y;
    cin >> n;
    for (int i = 0; i < 2*n; i++)
    {
        cin >> x;
        for (int j = 0; j < x; j++)
        {
            if (i % 2 == 1)
                cout << '1';
            else
                cout<<'0';
            cent++;
            if (cent % n == 0)
                cout << '\n';
        }
    }
    return 0;
}

十分,就十分,不知道为什么一直过不了,我感觉逻辑好像没问题呀QAQ,求大佬帮帮;


by chenyyegg @ 2024-02-13 20:29:28

首先,你的循环次数应该是n*n


by jkluio1 @ 2024-02-16 21:14:06

@chenyyegg 为什么要是nn呢,明明只要输入0,1两种状态的数,不是2n个数就够了咩,大佬求解QAQ


by chenyyegg @ 2024-02-17 12:40:16

@jkluio1 实在对不起,看错题了


by chenyyegg @ 2024-02-17 12:41:32

@jkluio1 你应该用while循环输入


by chenyyegg @ 2024-02-17 12:45:01

@jkluio1 hack一下:

7 49

正确输出:都是0 你肯定不对


by Xia_Yu_Chen @ 2024-02-25 23:39:45

题目中没有告诉你输入两个数是一行,你判断不出来第一个输入n后有多少个输入,所以应该用while输入,而不是2 * n,看一下样例解释


|