站外题求助
  • 板块学术版
  • 楼主lwx20211103
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/10/21 16:56
  • 上次更新2023/10/27 06:40:00
查看原帖
站外题求助
727008
lwx20211103楼主2022/10/21 16:56

描述

CV想要逃课敲代码,他要在每节课期间去签到一下再回去,他想尽可能少的去教室,给出每节课的起止时间,问他至少要去教室几次?

输入

第一行:nn 节课;

第2 到 n+1n+1 行:课的起止时间(2个整数);

输出

一个数,代表他至少要去几次教师。

样例

in:

2
1 2
2 3

out:

2

格式或许有误,请谅解。

全WA提交:

#include <bits/stdc++.h>
using namespace std;

struct lesson
{
	int start;
	int endd;
};

lesson nums[11451411];

bool _compare(lesson a, lesson b)
{
	return a.endd < b.endd;
}

int main()
{
    int n, ans = 1;
    int i;
    cin >> n;
    for (i = 0;i < n;i++)
    {
    	cin >> nums[i].start >> nums[i].endd;
    }
    sort(nums, nums + n, _compare);
//    for (i = 0;i < n;i++)
//    {
//    	cout << nums[i].start << " " << nums[i].endd;
//    	cout << "\n";
//    }
	for (i = 1;i < n;i++)
	{
		if (nums[i].start > nums[i - 1].endd)
		{
			ans++;
		}
	}
	cout << n - ans;
    return 0;
}

如果能帮助,不胜感激。

2022/10/21 16:56
加载中...