CF22D.Segments

普及+/提高

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given n segments on the Ox-axis. You can drive a nail in any integer point on the Ox-axis line nail so, that all segments containing this point, are considered nailed down. If the nail passes through endpoint of some segment, this segment is considered to be nailed too. What is the smallest number of nails needed to nail all the segments down?

给你 Ox 轴上的 nn 条线段。你可以在 Ox 轴上的任意整数点处钉入一枚钉子,使得所有包含该点的线段都被视为已被钉住。如果钉子恰好穿过某条线段的端点,那么该线段也被视为已被钉住。问:钉住所有线段所需的最少钉子数量是多少?

输入格式

The first line of the input contains single integer number n (1 ≤ n ≤ 1000) — amount of segments. Following n lines contain descriptions of the segments. Each description is a pair of integer numbers — endpoints coordinates. All the coordinates don't exceed 10000 by absolute value. Segments can degenarate to points.

输入的第一行包含一个整数 nn(1≤n≤10001 \leq n \leq 1000)——线段的数量。接下来的 nn 行描述这些线段,每行包含一对整数——线段两个端点的坐标。所有坐标的绝对值均不超过 1000010000。线段可能退化为点。

输出格式

The first line should contain one integer number — the smallest number of nails needed to nail all the segments down. The second line should contain coordinates of driven nails separated by space in any order. If the answer is not unique, output any.

第一行应包含一个整数——固定所有线段所需的最少钉子数量。
第二行应包含所钉入钉子的坐标(以空格分隔),顺序任意。若答案不唯一,输出任意一种即可。

输入输出样例

  • 输入#1

    2
    0 2
    2 5

    输出#1

    1
    2
  • 输入#2

    5
    0 3
    4 2
    4 8
    8 10
    7 7

    输出#2

    3
    7 10 3

输入解题思路,AI测评打分。不知道怎么写?

首页