#abc135e. [abc135_e]Golf

[abc135_e]Golf

题目描述

Jumbo Takahashi要在一个无限二维网格上打高尔夫球。

球最初位于原点(0,0)(0, 0),目标是一个网格点(具有整数坐标)(X,Y)(X, Y)。Jumbo Takahashi可以执行以下操作之一:

  • 选择一个与球当前位置的曼哈顿距离为KK的网格点,并将球发送到该点。

当球到达目标时,游戏结束,得分将是到目前为止的杆数。Jumbo Takahashi希望以尽可能低的分数完成游戏。

判断游戏是否可以结束。如果答案是肯定的,则找到一种将球带到目标的方式,使得分数最低。

什么是曼哈顿距离?

两点(x1,y1)(x_1, y_1)(x2,y2)(x_2, y_2)之间的曼哈顿距离被定义为x1x2+y1y2|x_1-x_2|+|y_1-y_2|

约束条件

  • 输入中的所有值都是整数。
  • 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)

输入

从标准输入读入输入数据。

输入数据的格式如下:

KK XX YY

输出

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

如果可以完成游戏,则输出一种将球带到目的地以获得最低分数的方式,格式如下:

ss x1x_1 y1y_1 x2x_2 y2y_2 . . . xsx_s ysy_s

其中,ss是最低得分,(xi,yi)(x_i, y_i)是第ii次击球之后球的位置。

示例输入 1

11
-1 2

示例输出 1

3
7 4
2 10
-1 2
  • (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+410=11|7-2|+|4-10|=11
  • (2,10)(2, 10)(1,2)(-1, 2)之间的曼哈顿距离为2(1)+102=11|2-(-1)|+|10-2|=11

因此,这个游戏是有效的。

另外,没有一种方法可以在不到三杆的情况下完成游戏。

示例输入 2

4600
52 149

示例输出 2

-1

示例输入 3

4
9 9

示例输出 3

5
1 3
4 2
4 6
6 8
9 9