题目1463:招聘会
时间限制:1 秒
内存限制:128 兆
特殊判题:否
提交:366
解决:115
-
题目描述:
-
又到毕业季,很多大公司来学校招聘,招聘会分散在不同时间段,小明想知道自己最多能完整的参加多少个招聘会(参加一个招聘会的时候不能中断或离开)。
-
输入:
-
第一行n,有n个招聘会,接下来n行每行两个整数表示起止时间,由从招聘会第一天0点开始的小时数表示。
n <= 1000 。
-
输出:
-
最多参加的招聘会个数。
-
样例输入:
-
3 9 10 10 20 8 15
-
样例输出:
-
2
-
-
-
#include<cstdio> #include<algorithm> #include<vector> using namespace std; typedef struct { int s; int f; }W; bool cmp(W a,W b) { if(a.f!=b.f)return a.f<b.f; else return a.s<b.s; } int main() { W t; int n,i,c,j; vector<W> v; while(scanf("%d",&n)!=EOF &&n ) { for(i=0;i<n;++i) { scanf("%d%d",&t.s,&t.f); v.push_back(t); } sort(v.begin(),v.end(),cmp); for( c=1,i=1,j=v[0].f; i<n; ++i ) if(j<=v[i].s){ ++c; j=v[i].f; } printf("%d\n",c); v.clear(); } return 0; } /************************************************************** Problem: 1463 User: 3011216016 Language: C++ Result: Accepted Time:10 ms Memory:1024 kb ****************************************************************/