#include <iostream> //有一条长度为整数L(1<=L<=10000)的马路,可以将他想象为数轴上长度为L的一条线段,七点是坐标原点, //在每个整数坐标点处有一颗树,即0~L上有L+1棵树 //现在要移走一些树,移走的树的区间用一对数字表示,如“100 200”表示移走100~200之间的树(包括端点) //可能有M(1<=M<=100)个区间,区间之间可能有重叠,现在要求移走所有区间树后剩余的树的数量 //输入:两个整数L和组数M //对于每组数据,输出一个数,表示移走所有区间之后剩下的树的棵树 int main() { int sum=0; int M,L; scanf("%d %d",&L,&M); int Tree[L+1];//下标是0~L int left,right; for(int l=0;l<L+1;l++){ Tree[l]={1};//1代表此处有一棵树 } for(int i=0;i<M;i++){ scanf("%d %d",&left,&right); for(int j=left;j<=right;j++){ if(Tree[j]==1){ Tree[j]=0; } } } for(int k=0;k<L+1;k++) { if(Tree[k]==1){ sum+=1; } } printf("%d",sum); return 0; }