棋盘
发布于 2022-03-03 15:21:03
假设此时我们有一个足够大的棋盘,棋盘上每个格子的位置我们都用坐标(X, Y)来表示。棋盘上已经摆放了若干个可以移动的棋子,棋子每一次移动都可以向上,向下,向左或向右移动一个单位长度。
我们此刻想通过若干次移动,将所有棋子最后摆成一个彼此靠近的水平线,这样他们最后的坐标就是(X, Y), (X+1, Y), ....., (X+N, Y)。水平线上的棋子最后的顺序以及整数X和Y都是任意的。
我们的问题是求完成这样的目标,最少需要移动几步。
注意:任何时候同一个格子内都不可以同时放两个或两个以上的棋子(棋子不可堆叠)。
输入描述: 输入文件一共有n+1行。
第1行为一个正整数n,1<=n<10000, n为棋子的数量。
从第2行开始一直到n+1行,一共n行,分别描述的是n个棋子各自的初始位置。每一行均为用空格分开的两个整数x[i], y[i], 他们表示第i个棋子的坐标,-10000<=x[i],y[i]<=10000。输入样例: 3 1 0 2 4 3 2 输出描述: 输出仅有1行,它的值为将棋子移动到目标位置所需的最少步数。输出样例 4
我们此刻想通过若干次移动,将所有棋子最后摆成一个彼此靠近的水平线,这样他们最后的坐标就是(X, Y), (X+1, Y), ....., (X+N, Y)。水平线上的棋子最后的顺序以及整数X和Y都是任意的。
我们的问题是求完成这样的目标,最少需要移动几步。
注意:任何时候同一个格子内都不可以同时放两个或两个以上的棋子(棋子不可堆叠)。
输入描述: 输入文件一共有n+1行。
第1行为一个正整数n,1<=n<10000, n为棋子的数量。
从第2行开始一直到n+1行,一共n行,分别描述的是n个棋子各自的初始位置。每一行均为用空格分开的两个整数x[i], y[i], 他们表示第i个棋子的坐标,-10000<=x[i],y[i]<=10000。输入样例: 3 1 0 2 4 3 2 输出描述: 输出仅有1行,它的值为将棋子移动到目标位置所需的最少步数。输出样例 4
关注者
0
被浏览
19