2019 icpc上海网络赛 Light bulbs



原题地址
题意:在题目中给的区间里的灯泡亮的变暗,暗的变亮。默认初始为全暗。
思路:用数组存定义的灯泡变化的区间进行排序(或者区间端点
进行排序),左区间+1, 右区间-1,
代码:

#include
#include
using namespace std;
int main()
{
    int i,j,n,m,T,ta,tb;
    cin>>T;
    for(j=0; j<T; j++)
    {
        cin>>m>>n;
        int p=0;
        int a[10000];
        for(i=0; i<n; i++,p+=2)
        {
            cin>>ta>>tb;
            a[p] = ta;
            a[p+1] = tb+1;//确定右闭区间

        }
        int num=0;
        sort(a,a+2*n);
        for(int i=1;i<2*n;i++){
            if(i%2==1){
                num+=a[i]-a[i-1];
            }
        }
        cout<<"Case #"<<j+1<<": "<<num<<endl;
    }
}