求大佬相助!
  • 板块学术版
  • 楼主yanzhi223
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/6/28 17:52
  • 上次更新2024/6/28 18:28:21
查看原帖
求大佬相助!
1273887
yanzhi223楼主2024/6/28 17:52

三角形面积

题目描述

给定平面直角坐标系上的三个整点 A,B,CA, B, C 的坐标,求其围成的三角形面积。

数据保证答案一定是整数。所以如果你采用了浮点数来计算,请四舍五入到整数。


两点之间的距离公式: (x1,y1),(x2,y2)(x_1, y_1), (x_2, y_2) 之间的距离是 (x1−x2)2+(y1−y2)2\sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}

海伦公式: 若三角形的边长为 a,b,ca, b, c,则三角形的面积是 s(s−a)(s−b)(s−c)\sqrt{s(s-a)(s-b)(s-c)},其中 s=12(a+b+c)s=\frac12(a+b+c).

输入格式

共三行,每行表示一个三角形上的点。
每行包含两个正整数,表示点的坐标,形式为 x y。

输出格式

共一行,一个整数,表示三角形面积。

样例 #1

样例输入 #1

10 20
30 40
50 50

样例输出 #1

100

提示

样例解释

可以通过海伦公式计算面积。方法如下。

ABAB 距离:(30−10)2+(40−20)2≈28.284\sqrt{(30 - 10)^2 + (40 -20)^2} \approx 28.284
BCBC 距离:(50−30)2+(50−40)2≈22.361\sqrt{(50-30)^2 + (50-40)^2} \approx 22.361
ACAC 距离:(50−10)2+(50−20)2≈50\sqrt{(50-10)^2+(50-20)^2}\approx 50

应用海伦公式,s≈(28.284+22.361+50)/2≈50.323s \approx (28.284 + 22.361 + 50) / 2 \approx 50.323
求出近似面积: s(s−a)(s−b)(s−c)≈10016.80≈100.08\sqrt{s(s-a)(s-b)(s-c)} \approx \sqrt{10016.80} \approx 100.08,故答案为 100100。

数据规模与约定

对于 100%100\% 的数据:每个点的 x,yx, y 坐标值一定在 [1,200][1, 200] 之内,均为整数;答案一定为正整数。

这道题怎么做?

2024/6/28 17:52
加载中...