descripción
El Festival de Cine para Estudiantes Universitarios se lleva a cabo en la Universidad de Pekín. En este día, se proyectaron muchas películas en varios lugares de la Universidad de Pekín. Dado el intervalo de tiempo de cada película, es imposible ver películas con intervalos superpuestos (los puntos finales pueden superponerse) Pregúntele a Li Lei cuánto puede ver películas.
ingresar
Múltiples conjuntos de datos. El comienzo de cada grupo de datos es n (n <= 100), lo que significa un total de n películas.
Las siguientes n líneas, cada línea tiene dos números enteros (entre 0 y 1000), lo que indica que el intervalo de proyección de una película es
n = 0 y los datos terminan
Producción
Puede ver algunas películas como máximo para cada conjunto de salida de datos
Entrada de muestra
8
3 4
0 7
3 8
15 19
15 20
10 15
8 18
6 12
0
Salida de muestra
3
Ideas
Ordene la hora de finalización de la película de menor a mayor, y seleccione la hora de finalización más temprana y la hora de inicio mayor que la hora de inicio de la escena anterior cada vez. Obviamente, cuanto antes termine, más podrás ver más tarde.
#include<iostream>
#include<algorithm>
using namespace std;
struct move
{
int s,e;
friend bool operator<(const move a,const move b)
{
return a.e<b.e;
}
}m[105];
int main()
{
int n;
while(1)
{
cin>>n;
if(n==0)
return 0;
for(int i=1;i<=n;i++)
cin>>m[i].s>>m[i].e;
sort(m+1,m+n+1);
int cnt=0,tmp=0;
for(int i=1;i<=n;i++)
{
if(m[i].s>=tmp)
{
cnt++;
tmp=m[i].e;
}
}
cout<<cnt<<endl;
}
}