AT_arc024_4.[ARC024D] バス停

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

高桥国的高桥王为了改善国内交通,决定设置几个公交站。高桥国的道路只有两种走向:东西向和南北向。从某个基准点向东 ii 公里修建了第 ii 条南北向的公路,而在北 jj 公里修建了第 jj 条东西向公路。第 ii 条南北路和第 jj 条东西路的交点表示为 (i,j)(i, j)。因为道路是无限延伸的,所以任何相交的两条路都有交点。公交站只能设置在这些交点上,并且一个交点至多只能有一个公交站。

目前已经设置了 NN 个公交站。但此时高桥王发现了个严重的问题:由于道路太窄,公交车无法转弯,每条线路只能沿一个方向行驶,这样一来,某些公交站之间就成了孤立的,无法互相流通。这是非常不便的,因此需要增设一些公交站,使得任意两个公交站之间,即使需要换乘也能到达,而换乘后的总距离应等于它们之间的曼哈顿距离。也就是说,对于每对公交站 (a,b)(a, b) 和 (c,d)(c, d),必须存在一条换乘路径,使总移动距离为 ∣a−c∣+∣b−d∣|a - c| + |b - d| 公里。

受预算限制,总共只能设立 10,00010,000 个公交站,也就是说,还可以再增设 10,000−N10,000 - N 个公交站。在满足上述条件情况下,找出应该增设的公交站位置。如果有多种方案,任选其一即可。

输入格式

输入使用以下格式:

NN
x1x_1 y1y_1
x2x_2 y2y_2
...
xNx_N yNy_N

  • 第 1 行是一个整数 N (2≤N≤1,000)N\ (2 \leq N \leq 1,000),表示已经设置好的公交站数量。
  • 接下来的 NN 行,每行两个整数 xi (1≤xi≤1,000)x_i\ (1 \leq x_i \leq 1,000) 和 yi (1≤yi≤1,000)y_i\ (1 \leq y_i \leq 1,000),这表示第 ii 个公交站位于交叉点 (xi,yi)(x_i, y_i)。
  • 对于所有 i≠ji \neq j,都有 (xi,yi)≠(xj,yj)(x_i, y_i) \neq (x_j, y_j)。
  • 至少存在一个可行解。

输出格式

输出应该新增的公交站位置,格式如下:

MM
x1x_1 y1y_1
x2x_2 y2y_2
...
xMx_M yMy_M

  • 第 1 行是一个整数 M (0≤M≤10,000−N)M\ (0 \leq M \leq 10,000 - N),表示新增公交站的数量。
  • 接下来的 MM 行,每行两个整数 xi (1≤xi≤1,000)x_i\ (1 \leq x_i \leq 1,000) 和 yi (1≤yi≤1,000)y_i\ (1 \leq y_i \leq 1,000),表示第 ii 个新增站位于交叉点 (xi,yi)(x_i, y_i)。
  • 对于所有 i≠ji \neq j,都有 (xi,yi)≠(xj,yj)(x_i, y_i) \neq (x_j, y_j)。
  • 新增站不能与已有站重合。
  • 在总共的 N+MN+M 个公交站中,任意两站之间的最短距离必须等于它们之间的曼哈顿距离。

输入输出样例

  • 输入#1

    2
    1 1
    2 2

    输出#1

    1
    1 2
  • 输入#2

    4
    1 1
    2 2
    3 4
    4 3

    输出#2

    4
    1 2
    3 2
    3 3
    4 4
  • 输入#3

    7
    2 4
    3 2
    4 6
    5 1
    6 5
    7 3
    8 7

    输出#3

    15
    3 6
    8 5
    2 2
    7 5
    2 5
    6 6
    3 1
    5 6
    6 2
    6 1
    7 1
    7 2
    2 3
    6 7
    2 6

说明/提示

部分分数

题目包含部分分数:

  • 如果能正确解决所有 2≤N≤1002 \leq N \leq 100 的测试用例,得 1010 分。
  • 如果能正确解决所有 2≤N≤1,0002 \leq N \leq 1,000 的测试用例,额外得 9090 分,总计 100100 分。

示例解释 1

经过公交站 (1,1)(1, 1) 的公交车只能驶向 (i,1)(i, 1) 或 (1,j)(1, j)(其中 i,ji, j 是任意整数)。同理,经过站点 (2,2)(2, 2) 的公交车只能驶向 (i,2)(i, 2) 或 (2,j)(2, j)。如果增设站点 (1,2)(1, 2),可以使任何两个站点可达。同样增设站点 (2,1)(2, 1) 也可以,甚至同时增设这两处也行。

示例解释 2

请注意,新增加的站点之间也必须满足最短路径等于曼哈顿距离的条件。

本翻译由 AI 自动生成

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

首页