天天看點

PTA--看電影

終于到周末了,明明是特别喜歡看電影。他想在一天内盡量多的看到完整的多部電影。 現在他把他喜歡的電影的播放時間表給你,希望你能幫他合理安排。

輸入格式:

輸入包含多組測試資料。每組輸入的第一行是一個整數n(n<=100),表示明明喜歡的電影的總數。 接下來n行,每行輸入兩個整數si和ei(1<=i<=n),表示第i個電影的開始和結束時間,為了簡化問題,每個時間都用一個正整數表示。 當n=0時,輸入結束。

輸出格式:

對于每組輸入,輸出能完整看到的電影的個數。

輸入樣例:

在這裡給出一組輸入。例如:

12

1 3

3 4

0 7

3 8

15 19

15 20

10 15

8 18

6 12

5 10

4 14

2 9

輸出樣例:

在這裡給出相應的輸出。例如:

5

#include<stdio.h>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<set>
using namespace std;
typedef struct movie{
   int si;
   int ei;
};
int comp(movie a,movie b){
    return a.ei<b.ei;
}
int main(){
    int n;
	movie m[100];
	
    while(~scanf("%d",&n)){
		if(n==0)
		{	
			break;
		}
		for(int i=0;i<n;i++){
	    scanf("%d %d",&m[i].si,&m[i].ei);
	}
	sort(m,m+n,comp);
	int sum=1;
	int end=m[0].ei;
    for(int i=1;i<n;i++){
		if(m[i].si>=end){
		    sum++;
			end=m[i].ei;
		}
	}
	printf("%d\n",sum);
	}
	return 0;
}
           

繼續閱讀