2019 icpc上海网络赛 Light bulbs
原题地址
题意:在题目中给的区间里的灯泡亮的变暗,暗的变亮。默认初始为全暗。
思路:用数组存定义的灯泡变化的区间进行排序(或者区间端点
进行排序),左区间+1, 右区间-1,
代码:
#include<iostream>
#include<bits/stdc++.h>
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;
}
}