题目描述:毕业季,很多大公司来学校招聘,招聘会分散在不同时间段,小明想知道自己最多能完整的参加多少个招聘会(参加一个招聘会的时候不能中断或离开)。
假设现在有n个招聘会,每个招聘会都有个起止时间,时间由从招聘会第一天0点开始的小时数表示,n <= 1000 。
返回:最多参加的招聘会的个数n。
举个例子:
现在有3场招聘会,他们的起始时间为:
9-10
10-20
8-15
返回:2
1 #include
2 #include
3 #include
4 #include
5 #include
6 using namespace std;
7
8
9 int forjob(vectorint,int> > &time)
10 {
11 if(time.size()==0)
12 return 0;
13 int num = 1;
14 int i,j,k,temp;
15 int begin,end;
16 end = time[0].second;
17 //只需要扫描每个时间段保证的情况下最大的num
18 for(i = 0;i19 {
20 temp = 1;
21 k = i;
22 begin = time[i].first;
23 while(k>0)
24 {
25 if(time[k].second <= begin)
26 {
27 temp ++;
28 begin = time[k].first;
29 }
30 k--;
31 }
32 j = i;
33 end = time[i].second;
34 while(j35 {
36 if(time[j].first >= end)
37 {
38 temp++;
39 end = time[j].second;
40 }
41 j++;
42 }
43 if(temp>num)num = temp;
44 }
45
46 return num;
47 //返回能参加的招聘个数的数值n
48 }
49
50
51 //start 提示:自动阅卷起始唯一标识,请勿删除或增加。
52 int main()
53 {
54 vectorint ,int> > time;
55 int m,n;
56 while(cin >> m>> n)
57 {
58 pair<int,int > tmp = make_pair(m,n);
59 time.push_back(tmp);
60 }
61 cout << forjob(time) << endl;
62 }
63 //end //提示:自动阅卷结束唯一标识,请勿删除或增加。
2 #include
3 #include
4 #include
5 #include
6 using namespace std;
7
8
9 int forjob(vector
10 {
11 if(time.size()==0)
12 return 0;
13 int num = 1;
14 int i,j,k,temp;
15 int begin,end;
16 end = time[0].second;
17 //只需要扫描每个时间段保证的情况下最大的num
18 for(i = 0;i
20 temp = 1;
21 k = i;
22 begin = time[i].first;
23 while(k>0)
24 {
25 if(time[k].second <= begin)
26 {
27 temp ++;
28 begin = time[k].first;
29 }
30 k--;
31 }
32 j = i;
33 end = time[i].second;
34 while(j
36 if(time[j].first >= end)
37 {
38 temp++;
39 end = time[j].second;
40 }
41 j++;
42 }
43 if(temp>num)num = temp;
44 }
45
46 return num;
47 //返回能参加的招聘个数的数值n
48 }
49
50
51 //start 提示:自动阅卷起始唯一标识,请勿删除或增加。
52 int main()
53 {
54 vector
55 int m,n;
56 while(cin >> m>> n)
57 {
58 pair<int,int > tmp = make_pair(m,n);
59 time.push_back(tmp);
60 }
61 cout << forjob(time) << endl;
62 }
63 //end //提示:自动阅卷结束唯一标识,请勿删除或增加。
这个题是pango网上的一个coding题,算是比较有意思的,我按题目中给的测试用例能够得到正确结果,但不知道提交后是ac还是别的
附链接:
http://hero.pongo.cn/OnlineCompiler/Index?ID=35&ExamID=35
准备好了再点,点开已经开始计时了