大哥们,救命!不知道为啥九十分#1WA了

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

Qzy271828 @ 2024-11-14 21:16:55

#include <iostream>
using namespace std;
int main()
{
    int l,m,sum(0);
    cin>>l>>m;
    int s[m-1];
    int b[m-1];
    for(int i=0;i<m;i++)
    {
        cin>>s[i];
        cin>>b[i];
    }   
    for(int i=0;i<=l;i++)
    {   
        for(int j=0;j<m;j++)
        {
            if(s[j]<=i&&i<=b[j])
            {
            sum++;
            break;
            }
        }
    }
    cout<<l-sum+1<<endl;
 }

by OpheebopZ @ 2024-11-14 21:30:00

@Qzy271828

最近是掀起了什么潮流吗……怎么新人都在动态开数组……

必须得知道,数组后面必须填要开的长度,而不是最后一个的下标。

如为 int f[10] 的数组最后一个元素的下标为 9

#include <iostream>
using namespace std;

const int MAXM = 105;
int s[MAXM], b[MAXM];

int main() {
    int l, m, sum = 0;
    cin >> l >> m;
    for (int i = 0; i < m; i++) cin >> s[i] >> b[i];
    for (int i = 0; i <= l; i++) {
        for (int j = 0; j < m; j++) {
            if (s[j] <= i && i <= b[j]) {
                sum++;
                break;
            }
        }
    }
    cout << l - sum + 1 << endl;
    return 0;
}

by Qzy271828 @ 2024-11-15 11:17:19

@OpheebopZ跪谢大佬解惑


|