A170440.皓仔看星星
普及-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
皓仔喜欢看星星,因此他给自己起了一个昵称 —— Stars_Seekers
现在皓仔正在观察夜空。夜空中一共有 n 颗星星,每颗星星都有一个唯一的名字,以及一个平面坐标 (xi,yi)。
皓仔选中了其中一颗名字为 z 的星星。现在,他想按照其他星星与星星 z 之间的距离,对全部 n 颗星星进行排序。
对于坐标为 (xi,yi) 的星星,它与星星 z 的距离为:
(xi−xz)2+(yi−yz)2
排序规则如下:
- 距离较小的星星排在前面。
- 如果两颗星星与星星 z 的距离相同,则名字字典序较小的星星排在前面。
请按照排序后的顺序,输出所有星星的名字。
输入格式
第一行输入一个整数 n,表示星星的数量。
接下来 n 行,每行输入一个字符串 namei 和两个整数 xi,yi,分别表示一颗星星的名字和坐标。
最后一行输入一个字符串 z,表示皓仔选中的星星名字。
输出格式
输出一行,共 n 个星星名字,表示排序后的结果。
相邻两个名字之间用一个空格隔开,行末不输出多余空格。
输入输出样例
输入#1
5 polaris 0 0 sirius 3 4 vega -3 4 rigel 0 10 altair 1 0 polaris
输出#1
polaris altair sirius vega rigel
说明/提示
【样例解释】
星星 polaris 被选中。五颗星星与它的距离依次为:polaris 为 0,altair 为 1,sirius 和 vega 均为 5,rigel 为 10。由于 sirius 的名字字典序小于 vega,因此 sirius 排在 vega 前面。
【数据范围】
对于所有测试数据保证:
-
1≤n≤105
-
−109≤xi,yi≤109
-
每颗星星的名字长度均在 1 到 20 之间,且只包含小写英文字母
-
所有星星的名字互不相同
-
所有星星的坐标互不相同
-
z 一定是某颗星星的名字
输入解题思路,AI测评打分。不知道怎么写?