AcWing 1219. 移动距离
原题链接
简单
作者:
不知名的fE
,
2024-11-23 15:38:10
,
所有人可见
,
阅读 1
横纵坐标差值的绝对值相加即可
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int w = sc.nextInt(), n = sc.nextInt(), m = sc.nextInt();
int row1 = getX(w, n), row2 = getX(w, m);
int col1 = getY(w, n), col2 = getY(w, m);
//相差为2的倍数时不用管,否则随便调整某一个的列值即可
if (row1 % 2 != row2 % 2)
col1 = w - col1 + 1;
int ans = Math.abs(row1 - row2) + Math.abs(col1 - col2);
System.out.println(ans);
}
static int getY(int w, int u) {
return (u - 1) % w + 1;
}
static int getX(int w, int u) {
return (u - 1) / w + 1;
}
}