CF39C Moon Craters

题目描述

关于月球环形山的起源有许多理论。大多数科学家支持陨石理论,认为环形山是天体与月球碰撞的结果。另一种观点认为环形山是火山的一部分。 一位专门研究外星智能的专家 Okulov 教授(他同名于著名编程教材作者 Okulov)提出了一个替代理论。你可以猜到这个理论和什么有关——没错,和外星智慧有关。现在教授正在寻找他的理论的证据。 教授获得了月球机器人传回的数据,该机器人沿着一条直线在月球表面移动。月球环形山是圆形的,半径为整数。机器人只记录那些圆心在其路径上的环形山,并向地球发送圆心距离起点的距离以及环形山半径的信息。 根据 Okulov 教授的理论,由外星智能创建的两个环形山,为了尚未明了的目的,要么完全互相包含,要么互不相交。允许内切或外切。然而,月球机器人收集到的实验数据并不支持这一理论!尽管如此,Okulov 教授仍然充满希望。他深知,要建立任何合乎逻辑的理论,就必须忽略部分由于测量错误(或外星智能巧妙伪装,这迟早会被教授发现!)而造成的数据。因此,Okulov 教授想从现有的环形山描述中,选择数量最多的一组,使其满足他的理论。

输入格式

第一行包含一个整数 $n$($1 \leq n \leq 2000$),表示发现的环形山数量。接下来的 $n$ 行,每行描述一个环形山,格式为“$c_{i}$ $r_{i}$”,其中 $c_{i}$ 表示该环形山圆心在月球机器人路径上的坐标,$r_{i}$ 表示环形山的半径。所有 $c_{i}$ 和 $r_{i}$ 均为不超过 $10^{9}$ 的正整数。不存在两个完全重合的环形山。

输出格式

第一行为最大满足条件的环形山个数。第二行为该集合中环形山的编号,编号顺序以输入顺序为准,从 $1$ 到 $n$。输出的编号顺序可以任意。如果有多组答案,输出任意一组即可。

说明/提示

由 ChatGPT 5 翻译