CF22D Segments

题目描述

给定 $n$ 个在 $Ox$ 轴上的线段。你可以在 $Ox$ 轴上的任意整数点上钉钉子,使所有包含该点的线段都被认为已被钉住。如果钉子穿过某条线段的端点,则这条线段也被认为已被钉住。请问,最少需要多少个钉子才能将所有线段都钉住?

输入格式

输入的第一行包含一个整数 $n$($1 \le n \le 1000$),表示线段的数量。接下来的 $n$ 行,每行包含一对整数,表示线段的两个端点坐标。所有坐标的绝对值不超过 $10000$。线段可能退化为一个点。

输出格式

输出的第一行应为一个整数,表示将所有线段钉住所需的最少钉子数。第二行应输出所有钉子的位置坐标,坐标之间用空格分隔,顺序不限。如果有多组解,输出任意一组即可。

说明/提示

由 ChatGPT 5 翻译