题解 | #棋盘#python
棋盘
https://www.nowcoder.com/practice/64d35e4069574412a1a654d53c9a1710
n=int(input()) xs=[] # 横坐标列表 ys=[] # 纵坐标列表 for i in range(n): x,y=list(map(int,input().split())) xs.append(x) ys.append(y) ys.sort() xs.sort() cx=xs[n//2] # 求中位数 cy=ys[n//2] step=0 for i in ys: step+=abs(i-cy) # 先纵坐标往中位数靠齐 for i in range(1,n//2+1): # 再横坐标往中位数靠拢 step+=abs(cx-i-xs[(n//2-i)]) # 从中位数开始,中心扩散,扩散范围为i if n//2+i<n: step+=abs(xs[(n//2+i)]-(cx+i)) print(step)