#include<iostream> using namespace std; int main(){ int a[1000010] = {0}; int n,m,i,x,y; cin>>n>>m; //标记开关(m次标记) for(i = 1;i <= m;i++){ cin>>x>>y; a[x] = 1 - a[x];//取反 a[y + 1] = 1 - a[y + 1];//结束位置要多标记一位 } int s = 0; int r = 0;//正面朝上的个数 //存储结果数组 for(i = 1;i <= n;i++){ s = s + a[i]; r = r + s % 2; } cout<<r<<endl; } /************************************************************** Problem: 1538 User: admin Language: C++ Result: Accepted Time:998 ms Memory:5856 kb ****************************************************************/