题目
描述
给你n条在数轴上的线段,每条线段的端点都是整数。线段可以相互交叉,重叠或甚至重合。每个线段的参数是左端点和右端点的坐标。
考虑坐标1和m以及它们之间的坐标为整数的点。你的任务是打印所有没有被线段覆盖的点。一条线段会覆盖它的端点。
输入
输入的第一行包含两个整数n和m(1≤n,m≤100)。
然后输入n行,每一行包含两个整数l和r,为线段的左右端点(1≤l≤r≤m)(线段可以退化为一个点)。
输出
在第一行打印一个整数k,即没有被覆盖的点的个数。
在第二行打印k个任何顺序的整数,即没有被覆盖的点的坐标。
如果根本没有这样的点,则输出只有一个整数0。
输入样例1
3 5
2 2
1 2
5 5
输出样例1
2
3 4
输入样例2
1 7
1 7
输出样例2
0
思路
使用布尔类型数组来表示数轴,被覆盖的点为false,反之为true。
最后只需要统计true的个数与位置即可
题解
#include<iostream>
using namespace std;
int main(){
int n, m, l