求助

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

chanthu2114 @ 2022-11-08 21:01:58

#include<iostream>
using namespace std;
int a[10005];
int main()
{
    int l,m,tmp1,tmp2,ans=0;
    cin>>l>>m;
    for(int i=0;i<m;i++)
    {
        cin>>tmp1>>tmp2;
        for(int j=tmp1;j<=tmp2;j++)
            a[j]=1;
    }
    for(int i=0;i<l;i++)
    {
        if(a[i]==0)
            ans++;
    }
    cout<<ans+1;
    return 0;
}

by zfj123456 @ 2022-11-08 21:23:20

@chanthu2114 如果tmp2=l呢,那么第l棵树已经被砍掉了,但是最后还是会加上所以最后的循环改成从i到<=l,最后去掉+1


by chanthu2114 @ 2022-11-11 19:34:01

谢谢


|