Mas 有一只钢笔 , 他只会绘制直线
他在平面直角坐标系中画出如下的图形:
容易发现上面的图有一定规律
现在给出两个坐标 (x1, y1)和 (x2,y2)
请你统计连接两点的折线长度(即沿折线走的路线长度)
输入格式
第一行输入一个整数 T 表示 T 组询问
每组询问输入一行四个整数 x1, y1, x2, y2
输出格式
每组询问输出一行一个实数表示经过的距离
输入样例
3
0 0 0 1
3 5 1 9
5 5 5 5
输出样例
1.000
46.708
0.000
Mas 有一只钢笔 , 他只会绘制直线
他在平面直角坐标系中画出如下的图形:
容易发现上面的图有一定规律
现在给出两个坐标 (x1, y1)和 (x2,y2)
请你统计连接两点的折线长度(即沿折线走的路线长度)
输入格式
第一行输入一个整数 T 表示 T 组询问
每组询问输入一行四个整数 x1, y1, x2, y2
输出格式
每组询问输出一行一个实数表示经过的距离
输入样例
3
0 0 0 1
3 5 1 9
5 5 5 5
输出样例
1.000
46.708
0.000
🕒下午好,题主!目前:🟢[在线]
📢参考GPT-4o mini 模型、由清水白石008整理提供!
📣今日金句:“成功是由许多小的努力汇聚而成的。”** — 文森特·梵高
要计算连接两点 (x1, y1) 和 (x2, y2) 的折线长度,我们需要根据给定的图形规律来推导出折线的路径。根据题意,Mas 的钢笔只能绘制直线,因此我们可以通过分析点的坐标来确定折线的长度。
判断起点和终点的相对位置:
计算折线长度:
下面是 Python 代码实现:
def calculate_length(x1, y1, x2, y2):
if (x1, y1) == (x2, y2):
return 0.0
else:
return abs(x2 - x1) + abs(y2 - y1)
# 读取输入
T = int(input())
results = []
for _ in range(T):
x1, y1, x2, y2 = map(int, input().split())
length = calculate_length(x1, y1, x2, y2)
results.append(f"{length:.3f}")
# 输出结果
for result in results:
print(result)
对于输入:
3
0 0 0 1
3 5 1 9
5 5 5 5
输出将会是:
1.000
46.000
0.000
f"{length:.3f}"
。abs()
函数来计算绝对值,确保长度为正数。