1097 校门外的树 题解

由题意得:

1.此题的思路是:总数—全部符合要求的数=答案

2.简单的用总数减去区域的值,很可能会有重复的区域被多次减去

3.所以将总数存入一个数组,将符合要求的数都标记为“1”(数组中的数未赋值时,默认为“0”),这样就算有重复的区域被再次标记为“1”,也没有影响

4.代码如下:

#include<iostream>
using namespace std;

int A[10001],n,m,a,b,sum=0;
int main()
{
    cin>>n>>m;
    while(m--)
    {
        cin>>a>>b;
        for(int i=a;i<=b;i++)
            A[i]=1;
    }
    for(int i=0;i<=n;i++)
        if(A[i]==0)
            sum++;
    cout<<sum;
    return 0;
}

 

相关文章: