来源 学校OJ
1、这道题三目运算符优先级可把我恶心坏了 以后一定要加括号:)
题解:区间问题 一维差分就可以
/*
给定区间 [0,L],每个整数点都有一个树
和M个命令,每个命令把[L,R]树都清走
问最后还有几棵树
*/
#include<bits/stdc++.h>
using namespace std;
int L,M;
int ans;
int sum[10010];
int main()
{
while(cin>>L>>M)
{
if(!L&&!M) break;
memset(sum,0,sizeof(sum));
sum[0]=1;sum[L+1]=-1;ans=0;
for(int i=1;i<=M;i++)
{
int L,R;
scanf("%d%d",&L,&R);
if(L>R) swap(L,R);
sum[L]--;
sum[R+1]++;
}
for(int i=0;i<=L;i++)
{
if(i==0) ans=ans+sum[0]>0?1:0;
else
{
sum[i]=sum[i]+sum[i-1];
ans=ans+(sum[i]>0?1:0);
}
// cout<<i<<"--"<<sum[i]<<"--"<<ans<<endl;
}
cout<<ans<<endl;
}
return 0;
}
//1 0 0 0 0 -1
//1 -1 0 1 0 -1
//0 -1 0 2 0 -1