题目如下图所示
代码思路很简单,就是将活动按照结束的时间进行排序,然后找不相交的几个时间段,输出即可。这里只是需要注意一点,就是:结束时间一样的活动按照原来的顺序排序,如果使用选择排序的话,由于选择排序是不稳定的排序,需要添加新的条件。
#include <iostream>
using namespace std;
struct node {
int Id;
int Begin;
int End;
} activity[110], temp;
int main() {
int n;
scanf("%d", &n);
for(int