51nod 活动安排问题之一

来源:互联网 发布:量化投资数据挖掘 pdf 编辑:程序博客网 时间:2024/06/16 13:03

输入

第1行:1个数N,线段的数量(2 <= N <= 10000)第2 - N + 1行:每行2个数,线段的起点和终点(-10^9 <= S,E <= 10^9)

输出

输出最多可以选择的线段数量。

输入示例
//@auther zhou//@Number 201408070203//@start time://@finish time:/*@此处注意:*//* 测试数据*/#include<iostream>#include<cstring>#include<vector>#include<cmath>#include<algorithm>using namespace std;struct x{int start;int end;};bool cmp(x a,x b){if(a.end<b.end)return 1;return 0;}int main(){int n;vector<x> a;x temp;cin>>n;for (int i=0;i<n;i++){cin>>temp.start>>temp.end;a.push_back(temp);}sort(a.begin(),a.end(),cmp);//for (int i=0;i<n;i++){//cout<<a[i].start<<" "<<a[i].end<<endl;////}int pick=0,lasttime=-1e9-1;int i=0;while(i<n){if(a[i].start>=lasttime) {lasttime=a[i].end;pick++;}i++;}cout<<pick<<endl;return 0;}


31 52 33 6

输出示例

2

贪心问题

endtime选最早的

0 0
原创粉丝点击