AT_abc448_f.[ABC448F] Authentic Traveling Salesman Problem

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

在一个二维平面上有编号为 11 至 NN 的 NN 个点。点 ii 位于坐标 (Xi,Yi)(X_i, Y_i) 。

你将从点 11 出发,每个位置正好访问一次,然后返回点 11 。

从点 ii 移动到点 jj 需要 ∣Xi−Xj∣+∣Yi−Yj∣\vert X_i - X_j \vert + \vert Y_i - Y_j \vert 秒。

输出一条从点 11 出发,在 101010^{10} 秒内到达所有位置并返回点 11 的路径。保证在给定的数据范围下至少存在一条这样的路线。

输入格式

输入格式如下:

NN

X1X_1 Y1Y_1
X2X_2 Y2Y_2
⋮\vdots
XNX_N YNY_N

输出格式

设 pi(1≤i≤N)p_i (1 \leq i \leq N) 为访问过的 ii 个位置,并按以下格式输出答案。

p1p_1 p2p_2 …\dots pNp_N

如果满足以下所有条件,则认为您的答案是正确的。

  • (p1,p2,…,pN)(p_1, p_2, \dots, p_N) 是 (1,2,…,N)(1, 2, \dots, N) 的排列。
  • p1=1p_1 = 1
  • 设 d(i,j)d(i, j) 为从位置 ii 移动到位置 jj 所需的秒数, ∑i=1Nd(pi,p(i mod N)+1)≤1010\displaystyle \sum_{i=1}^N d(p_i, p_{(i \bmod N) + 1} ) \leq 10^{10}。

如果有多个正确答案,输出任意一个即可。

输入输出样例

  • 输入#1

    3
    0 6
    3 5
    2 4

    输出#1

    1 3 2
  • 输入#2

    10
    9706344 19786176
    19341349 15565412
    5711023 19068083
    12521132 14054301
    14767612 17088029
    14961700 18526945
    13801766 5740101
    6581153 8643675
    13176196 16586661
    4086263 5172719

    输出#2

    1 5 2 6 4 7 9 8 3 10

说明/提示

数据范围

  • 1≤N≤6×1041 \leq N \leq 6 \times 10^4;
  • 0≤Xi≤2×1070 \leq X_i \leq 2 \times 10^7;
  • 0≤Yi≤2×1070 \leq Y_i \leq 2 \times 10^7;
  • 如果 i≠ji \neq j,那么 (Xi,Yi)≠(Xj,Yj)(X_i, Y_i) \neq (X_j, Y_j);
  • 所有输入值均为整数。

样例解释 #1

∑i=1Nd(pi,p(i mod N)+1)=4+2+4=10\displaystyle \sum_{i=1}^N d(p_i, p_{(i \bmod N) + 1}) = 4 + 2 + 4 = 10 ,因此输出满足条件。

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

首页