1. 程式人生 > >1097 校門外的樹 題解

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;
}