AT_apio_jumps.Jumps

通过率:0%

AC君温馨提醒

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

题目描述

跳跃技术对忍者至关重要。一组忍者要在一个池塘上进行跳跃训练。池塘里有 NN 块石头,编号 11 到 NN。石头的位置可以视为二维平面上的点,第 ii 块石头的坐标为 (Xi,Yi)(X_i, Y_i)。

他们希望找到一条路线:以某块石头为起点,依次访问所有 NN 块石头且经过每块石头恰好一次,最后回到起点。两块石头之间的路线是连接两点的线段。出于安全考虑,这条闭合路线必须不自交:从空中俯视,路线不能在平面上重复经过同一位置(即线段之间不发生交叉,除了相邻线段在端点的石头相接)。

输入格式

第一行一个整数 NN。

第二行到第 N+1N + 1 行,每行两个非负整数 (Xi,Yi)(X_i,Y_i),表示第 ii 块石头的坐标。

输出格式

若存在满足条件的路线,输出 NN 行,第 jj 行输出路线中的第 jj 块石头编号(视为按该顺序访问,最后会回到第 11 行的起点)。若有多解可输出任意一种。

若不存在满足条件的路线,仅需输出一行一个字符 0。

输入输出样例

  • 输入#1

    12
    0 0
    0 10
    0 20
    10 0
    10 10
    10 20
    20 0
    20 10
    20 20
    30 0
    30 10
    30 20

    输出#1

    9
    12
    11
    10
    7
    4
    1
    2
    3
    6
    5
    8

说明/提示

对于 100%100\% 的数据,保证 3≤N≤1053 \le N \le 10^5,0≤Xi,Yi≤1090 \le X_i,Y_i \le 10^9。

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

首页