如有勘误,欢迎指出!
查看原帖
如有勘误,欢迎指出!
1406653
Killa_tsn楼主2024/8/1 08:31

Starry Sky:星空

input文件“starry sky.in”

标准输出 源文件starry sky.c/starry sky.cpp

限时3秒/数据

日本天文台协会(Japan Observatory Institution)最近安装了高性能天文望远镜。JOI通过向大众广泛宣传该天体望远镜的性能,提高了JOI的知名度。根据长时间会议的结果,展示这个天文望远镜性能的最有效的效果的宣传方法是,尽可能多地拍摄充分闪耀的星星的图像,广泛地向公众公开。

但是,宇宙是广阔的。要想把一切都收在一张图像里,那么每一颗星星的光辉就不能充分表示。另一方面,该天文望远镜有着高性能。通过放大拍摄星空,每颗星星都十分耀眼,可以作为多状态拍摄。但是通过放大,就能进入图像中留下的星星的数量会减少。最多可以把几颗足够耀眼的星星收进图像里?

当关于每颗星星的下一个信息被给出的时候,足够闪耀的星星将被收录在图像中。

请编写程序,计算能做到的星星的最大数量。

•星星的位置是由x坐标和y坐标构成的二维坐标。

•用这个天体望远镜拍摄的图像是每个边平行于x轴与y轴的任意大小的正方形。

•为表示恒星的光度和达到充分发光状态所需的放大倍率的关系,每次给出在充分发光的状态下拍摄所需的正方形区域的边长L

如果所拍摄的正方形区域的边长不大于L,那么这颗星星就会进入图像中。在正方形区域的边缘上即使有,也不能拍摄成十分耀眼的星星。

(即:边沿上拍不出耀眼的星星)

任何不同的两颗星,彼此的x坐标,彼此的y坐标,彼此的L的值都是唯一的。

Input.

输入文件starry sky.in的第一行中,有表示星星数量的整数N(1<=n<=4000)

接下来的N行表示星星的数据。在第i+1行(1<=i<=n)中有三个整数xi,yi,Li (0<=xi<=10e9,0<=yi<=10e9,1<=li<=10e9)以空白为分隔。

这是星星的x坐标,y坐标,以及表示在充分发光的状态下可以拍摄的正方形区域的边长的最大值。

Output.输出应按标准输出。

用一行输出可以拍摄到的耀眼的星星的最大数

评分标准评分用数据中,评分的15%为N<=100,评分的25%为N<=400,配分的35%满足n<=700,配分的50%满足n<=1000。另外,对于配分的20%满足xi,yi,Li<=1000。

例1 starry sky.in

4

1 2 6

4 3 3

3 1 4

5 5 2

标准输出

3

例2 starry sky.in

5

11 6 7

12 13 8

15 16 18

2 2 13

3 4 11

标准输出

2

2024/8/1 08:31
加载中...