Portal de título original
Idea: Pregunta codiciosa de intervalo, primero defina una estructura para almacenar las horas de inicio y finalización, luego defina una función para ordenar las horas de finalización de pequeñas a grandes, y luego recorra cada hora de finalización después de la clasificación, cuanto antes se cumpla el final y la satisfacción Participe si se cumplen las condiciones y finalmente envíe el número
Referencia de código
#include<bits/stdc++.h>
using namespace std;
struct Match//使用结构体将比赛的开始时间和结束时间保存下来
{
int start;//开始时间
int end;//结束时间
}M[1000000];
bool compare(Match x, Match y)//以结束时间从小到大排序
{
return x.end < y.end;
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
cin>>M[i].start>>M[i].end;
sort(M,M+n,compare);
int pos = 0; //上一场比赛的结束时间
int num=0;//能够参加比赛的次数
for(int i=0;i<n;i++)
{
if(pos<=M[i].start)
{
pos = M[i].end;
num++;
}
}
cout<<num;
return 0;
}