相信很多同学都用过51nod这个编程网站,里面的题是很好的,但是在学习过程中,未免会有一些做不出来题的情况,今天,我这个编程菜鸟也被难住了,那么,废话少说,我们就上题解吧!
#include<bits/stdc++.h>
using namespace std;
int L,M;
struct node{
int l,r;
}p[100010];
bool cmp(node a,node b){
if(a.l != b.l) return a.l<b.l;
else return a.r<b.r;
}
int main(){
int len=0;
cin>>L>>M;
for(int i=1;i<=M;i++){
cin>>p[i].l>>p[i].r;
}
sort(p+1,p+1+M,cmp);
int nl=p[1].l,nr=p[1].r;
for(int i=2;i<=M;i++){
if (p[i].l<=nr) nr=max(nr,p[i].r);
else{
len+=(nr-nl+1);
nl=p[i].l,nr=p[i].r;
}
}
len+=(nr-nl+1);
cout<<L+1-len;
}