AT_abc135_e.[ABC135E] Golf

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

有一个无限扩展的二维格子。ジャンボ高橋君决定在这个格子上打高尔夫球。

球最初位于原点 (0, 0)(0,\ 0),目标点是格子点(即坐标均为整数的点)(X, Y)(X,\ Y)。ジャンボ高橋君每打一杆,可以进行如下操作:

  • 从当前球所在的位置,选择一个与当前位置的曼哈顿距离为 KK 的格子点,将球击到该点。

当球到达目标点时,游戏结束,所用的击球次数即为得分。ジャンボ高橋君希望用尽可能少的击球次数完成游戏。

请判断是否可以完成游戏。如果可以,请给出一种使得得分最小的击球方案。

曼哈顿距离的定义:对于两个坐标 (x1, y1), (x2, y2)(x_1,\ y_1),\ (x_2,\ y_2),它们的曼哈顿距离为 x1x2+y1y2|x_1-x_2|+|y_1-y_2|

输入格式

输入通过标准输入给出,格式如下:

KK XX YY

输出格式

如果无法完成游戏,输出 -1

如果可以完成游戏,输出一种使得得分最小的击球方案,格式如下:

ss x1x_1 y1y_1 x2x_2 y2y_2 \cdots xsx_s ysy_s

其中,ss 是最小得分,(xi, yi)(x_i,\ y_i) 表示第 ii 杆球击到的坐标。

输入输出样例

  • 输入#1

    11
    -1 2

    输出#1

    3
    7 4
    2 10
    -1 2
  • 输入#2

    4600
    52 149

    输出#2

    -1
  • 输入#3

    4
    9 9

    输出#3

    5
    1 3
    4 2
    4 6
    6 8
    9 9

说明/提示

限制条件

  • 所有输入均为整数。
  • 1K1091\leq K\leq 10^9
  • 105X, Y105-10^5\leq X,\ Y\leq 10^5
  • (X, Y)(0, 0)(X,\ Y)\neq (0,\ 0)

样例解释 1

  • (0, 0)(0,\ 0)(7, 4)(7,\ 4) 的曼哈顿距离为 07+04=11|0-7|+|0-4|=11
  • (7, 4)(7,\ 4)(2, 10)(2,\ 10) 的曼哈顿距离为 72+104=11|7-2|+|10-4|=11
  • (2, 10)(2,\ 10)(1, 2)(-1,\ 2) 的曼哈顿距离为 2(1)+102=11|2-(-1)|+|10-2|=11
    由此可见,这种击球方式是正确的。此外,不存在比 33 杆更少的完成方法。
首页