曼哈顿距离,先判断在哪一圈,然后计算右上角顶点的距离,(2*n)^2。判断在这个点的后面则加上,反之则减,不要反着来,因为有个特殊点(-2,-2)。错误代码我就不给了,下面是正确的.
x,y=map(int,input().split())
n=max(abs(x),abs(y))
l=abs(x-n)+abs(y-n)
res=(2*n)**2
if x==n or y==-n:
res+=l
else:
res-=l
print(res)
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla