C++90分,求大佬解题!

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

cin_cinan @ 2023-02-20 21:13:55

#include<bits/stdc++.h>
using namespace std;
int tree[100000]={0};
void zs(int u,int v){
    for(int j=u-1;j<v;j++){
            tree[j]=0;
    }
}
int main(){
    int m,n,k;
    cin>>m>>n;
    k=m/1+1;
    for(int i=0;i<k;i++){
        tree[i]=1;
    }
    for(int i=0;i<n;i++){
        int u,v;
        cin>>u>>v;
        zs(u,v);
    }
    int sum=1;
    for(int i=0;i<m;i++){
        if(tree[i]==1){
            sum++;
        }
    }cout<<sum;
    return 0;
} 

by cin_cinan @ 2023-02-20 21:15:56

样例是对的✔


by tangguo_yyds @ 2023-02-20 21:38:37

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

by cin_cinan @ 2023-02-21 20:35:29

@tangguo_yyds 谢谢


by liuzekai123 @ 2023-03-03 23:26:21


#include<bits/stdc++.h>
using namespace std;
int s[100005];
int main()
{
    int L,M,cnt=0,a,b;
    cin>>L>>M;
    for(int i=1;i<=M;i++)
    {
        cin>>a>>b;
        for(int j=a;j<=b;j++) s[j]=1;
    }
    for(int i=0;i<=L;i++)
    {
            if(s[i]==0)
        {
            cnt++;
        }
    }

    cout<<cnt;
    return 0;
}

|