7447. 替换为差值 (Replace with Difference)
时间限制:1000 MS 内存限制:512 MB
题目描述
# 替换为差值 (Replace with Difference) 时间限制:$1.00\text{ s}$ 空间限制:$512\text{ MB}$ ## 题目描述 给你一个包含 $n$ 个整数的数组。你需要对该数组执行 $n - 1$ 次操作。 在一次操作中,你要选择数组中的两个数 $a$ 和 $b$,将它们从数组中删除,并将 $|a - b|$ 添加到数组中。 你的任务是寻找一个操作序列,使得最后留在数组中的唯一数字是 $0$。 ## 输入格式 第一行包含一个整数 $n$:数组的长度。 第二行包含 $n$ 个整数 $x_1, x_2, \dots, x_n$:数组中的元素。 ## 输出格式 输出 $n - 1$ 行,每行包含两个整数 $a$ 和 $b$:即在该步操作中被选中的两个数。你可以输出任何合法的解。 如果无解,只需输出 `-1`。 ## 输入输出样例 ### 输入 #1 ```text 5 2 7 4 12 1 ``` ### 输出 #1 ```text 2 12 7 10 4 1 3 3 ``` ## 说明/提示 在样例中,数组的变化过程如下: - $[2, 7, 4, 12, 1] \rightarrow$ 删除 $2$ 和 $12$,加入 $10$ - $[7, 4, 1, 10] \rightarrow$ 删除 $7$ 和 $10$,加入 $3$ - $[4, 1, 3] \rightarrow$ 删除 $4$ 和 $1$,加入 $3$ - $[3, 3] \rightarrow$ 删除 $3$ 和 $3$,加入 $0$ - $[0]$:最终数组 ### 数据规模与约定 - $2 \le n \le 1000$ - $1 \le x_i \le 1000$