天天看點

今年暑假不AC 【hdu 2037】【貪心】

貪心政策:目前節目中選擇結束時間最早的,保證剩餘觀看時間的最大化。

#include<iostream>
#include<algorithm>
using namespace std;

struct t{
	int ti_s;
	int ti_e;
}time[101];

bool cmp(t t1,t t2){
	return  t1.ti_e<t2.ti_e;
}

int main(){
	int n;
	while(cin>>n){
		if(n==0){
			break;
		}
		for(int i=0;i<n;i++){
			cin>>time[i].ti_s>>time[i].ti_e;
		}
		sort(time,time+n,cmp);
		int maxtime=time[n-1].ti_e;
		int i=0,j=0;
		int count=0;  
		int current=0;  //目前時間 
		while(i<n){
			count++;
			current=time[i].ti_e;  //目前時間即這個視訊的結束時間 
			j=i+1;
			while(j<n){
				if(time[j].ti_s<current){  //不能完整看,跳過 
					j++; 
				}
				else{
					
					break;
				}
			}
			i=j;
		}
		cout<<count<<endl;
	}
	
	return 0;
}
           

繼續閱讀