P1803 Desordenado yyy / cobertura de segmento de línea (Luogu)

Portal de título original

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
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;
}

Supongo que te gusta

Origin blog.csdn.net/Bertil/article/details/106795129
Recomendado
Clasificación