Logo Universal Online Judge

UOJ

时间限制:2 s 空间限制:1024 MB

#2666. 弈(nine)

统计

题目背景

都什么年代了,还在下传统围棋!

题目描述

平面上点 (0, 0) 处有两颗黑色棋子 ,你可以通过一次操作将两颗黑色棋子. 同时移动 到距原来点曼哈顿距离恰好为 k 的同一处。你需要将两颗黑色棋子. 同时挪到点 (x, y) 处, 最小化操作数并给出方案,若无解输出 −1。

你可以认为"两颗黑色棋子"是一颗棋子。

输入格式

一行三个整数 k, x, y。

输出格式

若无解,输出一行一个整数 −1。 否则,第一行一个整数 s ,代表最小操作次数。 接下来 s 行,第 i 行两个整数 (ai, bi) ,表示第 i 次操作后两颗黑色棋子的坐标。 如果有多组解,给出任意一组即可。

样例输入

11 1 ‐2

样例1输出

3
-7 -4
-2 -10
1 -2

样例2输入

114 5 14

样例2输出

-1

测试点约束

对于所有数据,1 ≤ k ≤ 10^9, −105 ≤ x, y ≤ 10^5, (x, y) 不为 (0, 0)。

你的输出中的 (ai, bi) 需在 int 范围内,可以证明必然存在这样的解。

• 子任务 1(50 分):k, |x|, |y| ≤ 10。

• 子任务 2(50 分):无特殊限制。