第一行输入两个整数
(
),分别表示起点的横坐标和纵坐标。
第二行输入两个整数
(
),分别表示终点的横坐标和纵坐标。
输出一个实数,表示两点之间的绕距
。注意,由于浮点数存在误差,只要您的答案与标准答案之间的误差不超过
,您的答案就会被认为是正确的。
0 0 1 1
0.585786437626904951
两点间曼哈顿距离为,欧几里得距离为
,结果为
,约为
。
from decimal import Decimal, getcontext
getcontext().prec=50
x1,y1=map(int,input().split())
x2,y2=map(int,input().split())
dx=abs(x1-x2)
dy=abs(y1-y2)
dm=Decimal(f"{dx+dy}")
de=Decimal(f"{dx**2+dy**2}")**Decimal('0.5')
dd=f"{abs(dm-de)}"
if '.' in dd:
l,r=dd.split('.')
result=f"{l}.{r[:18].ljust(18,'0')}"
else:
result=f"{dd}.{'0'*18}"
print(result)