由题意得:
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;
}