虽然样例没过,但我觉得还是挺合理的

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

douhuazhenren1 @ 2024-01-20 18:53:10

#include<bits/stdc++.h>
using namespace std;
bool b[10005];
int main()
{
    int l,m,u[150],v[150],sum=0;
    cin>>l>>m;
    for(int i=1;i<=m;i++)
    {
        cin>>u[i]>>v[i];
    }

    for(int i=1;i<=m;i++)
    {
        for(int j=u[i];j<=v[i];j++)//如果地铁,那么移走 
        {
            b[i]=1;
        }
    }

    for(int i=1;i<=l;i++)
    {
        if(!b[i])//如果没有地铁,树的数量加一 
        {
            sum++;
        }
    }
    cout<<sum<<endl;
    return 0;
}

by xiaoshumiao @ 2024-01-20 19:00:07

@douhuazhenren1


    for(int i=1;i<=m;i++)
    {
        for(int j=u[i];j<=v[i];j++)//如果地铁,那么移走 
        {
            b[i]=1;
        }
    }

    for(int i=1;i<=l;i++)
    {
        if(!b[i])//如果没有地铁,树的数量加一 
        {
            sum++;
        }
    }

检查一下,有两处错误。


by douhuazhenren1 @ 2024-01-20 20:10:50

@xiaoshumiao

??没找到,是要从零开始吗


by xiaoshumiao @ 2024-01-20 20:12:37

@douhuazhenren1

  1. 应该是 b_j=1 而不是 b_i=1

  2. 0 \sim l 检查。


by douhuazhenren1 @ 2024-01-20 20:16:38

@xiaoshumiao

原来这样,谢谢你


|