10pts求调玄关

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

zhoubohan624 @ 2024-05-28 20:57:51

???不明白了怎么错了

我就是个蒟蒻,绿名以上dalao回复 关你

#include <bits/stdc++.h>
using namespace std;
int a[1000005];
int main()
{
    int l,m,cnt=0;
    cin>>l>>m;
    for(int i=1;i<=l;i++)
        a[i]=0;
    for(int i=1;i<=m;i++)
    {
        int h,t;
        cin>>h>>t;
        for(int j=h;j<=t;j++)
            if(a[j]==0)
                a[j]=1;
    }
    for(int i=1;i<=l;i++)
    {
        if(a[i]==0)
            cnt++;
    }
    cout<<cnt<<endl;
    return 0;
}

真的只得10分aaa


by huanzhenyang0420 @ 2024-05-28 21:07:10

~~****~~


by qazsedcrfvgyhnujijn @ 2024-05-28 21:11:52

这题是从 0 开始数的啊
而且可以换个写法:

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

int l, m, ans;
bool vis[10003];

main() {
    cin >> l >> m;
    for (int a, b; m--; ) {
        cin >> a >> b;
        for (int i = a; i <= b; i++) vis[i] = 1;
    }
    for (int i = 0; i <= l; i++)
        if (!vis[i]) ans++;
    cout << ans;
}

by yscxk264 @ 2024-05-28 21:12:49

@zhoubohan624 要改成这个

for(int i=0;i<=l;i++)
{
    if(a[i]==0)
        cnt++;
}

by zhoubohan624 @ 2024-05-28 21:14:24

欧克欧克,我逝逝


by zhoubohan624 @ 2024-05-28 21:15:27

@hhy517090 简洁版,牛!关注关注


|