70变30!救救孩子!

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

Li_Junlin @ 2023-07-23 12:15:55

有大佬能看一下这一题吗,原本70(1,2,3错),加了一行代码(14行)变30(1,2,3对) ~~ 好扯淡~~ 源代码如下:

#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std;
int main()
{
    int n,l,r,f,sum=0; //a,b表示挖地的起始点和终点 
    int a[10000]={0}; //0表示在,1表示不在 
    cin>>l>>n; //l可以表示树的数量 ,n表示要挖的地方的数量
    l++;
    for(int i=0;i<n;i++)
    {
        cin>>r>>f;
        if(abs(r-f)!=1) 
        {
            for(int j=r;j<=f;++j)
            {
                a[j]=1;
            }           
        }
        else 
        {
            a[r]=1;
            a[f]=1;
        }
    } 
    for(int i=0;i<l;i++)
    {
        if(a[i]==0) sum++;
    } 
    cout<<sum;
    return 0;
}

by Li_Junlin @ 2023-07-23 12:16:46

加的是l++


by ZTHu @ 2023-07-23 13:11:30

数组开大点,int a[10000]={0}开成10005,题中数据规模给的是l<=10000 ,但树的起点是0,所以不能开刚好10000的数组.


by Li_Junlin @ 2023-07-23 13:36:01

@ZTHu 好的,谢谢大佬


|