求助,全部都WA了

P1047 [NOIP2005 普及组] 校门外的树

drifter @ 2023-10-11 20:55:40

全部WA了,有没有大佬看看为什么>_<。 所给测试用例和下载的第一个WA答案都是对的。

#include <iostream>

using namespace std;

int main()
{
    int l, m;
    int a[m][2];

    int count1 = 0;
    int flag = 1;           //如果flag为1则表示该点为树

    cin >> l >> m;

    for(int i = 0; i < m; i++)
    {
        for(int j = 0; j < 2; j++)
        {
            cin >> a[i][j];
        }
    }

    for(int h = 0; h <= l; h++)
    {
        for(int i = 0; i < m; i++)
        {
            if(h >= a[i][0] && h <= a[i][1])
            {
                flag = 0;
            } else continue;
        }
        if(flag != 0)
            count1++;
        flag = 1;
    }

    cout << count1;

    return 0;
}

by chenlh0711 @ 2023-10-11 21:15:54

这个题没必要定义一个二维数组吧,定义一个一维数组打标记就行吧


by yzl0225 @ 2023-10-13 16:30:52

int a[m][2];

??? 不应该是[105][2]吗?


by 2022tysc0539 @ 2023-10-14 21:22:33

#include <iostream>

using namespace std;

int main()
{
    int changdu,n;
    int a[10005]={0};//最大长度+预备的标记 

    cin >> changdu >> n;

    for(int i = 1; i <= n; i++)
    {
        int left,right;
        cin>>left>>right;
        for(int j=left;j<=right;j++)a[j]=1;//标记区域内的数 
    }
    int cnt=0;
    for(int i = 0; i <= changdu; i++)
    {
        if(a[i]==0)cnt++;//统计 
    }

    cout << cnt;

    return 0;
}

调好了,稍微改了亿点


by Steve_xh @ 2023-10-22 15:42:47

怎么老是会有人喜欢拿变量当数组长度啊?码风好怪


|