70分求助!!

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

违规用户名^3Zj=Oha @ 2022-04-03 22:53:30

#include<bits/stdc++.h>
using namespace std;
int l,n,sum=0,x,y,sum1=1;
int main(){
    cin>>l>>n;
    int a[l];
    for(int i=0;i<l;i++) a[i]=1;
    for(int i=0;i<n;i++){
        cin>>x>>y;
        for(int j=x;j<=y;j++) a[j]=0;
    }
    for(int i=0;i<=l;i++){
        if(a[i]==1) sum1++;
    }
    cout<<sum1;
    return 0;
}

by Untitled10032 @ 2022-04-03 23:01:57

数组应该开a[l+1],数组赋初值的时候i<=l


by 违规用户名^3Zj=Oha @ 2022-04-10 10:59:22

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

感谢


|