分支 02 三角形判斷 15

2021-07-03 04:25:58 字數 1120 閱讀 6148

時間限制

400 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard

作者 楊起帆(浙江大學城市學院)

給定平面上任意三個點的座標(x1,y1)、(x2,y2)、(x3,y3),檢驗它們能否構成三角形。

輸入格式:

輸入在一行中順序給出6個[-100, 100]範圍內的數字,即3個點的座標x1, y1, x2, y2, x3, y3。

輸出格式:

若這3個點不能構成三角形,則在一行中輸出「impossible」;若可以,則在一行中輸出該三角形的周長和面積,格式為「l = 周長, a = 面積」,輸出到小數點後2位。

輸入樣例1:

4 5 6 9 7 8
輸出樣例1:
l = 10.13, a = 3.00
輸入樣例2:
4 6 8 12 12 18
輸出樣例2:
impossible
個人思路是:先判斷3點是否共線,不共線再計算三邊長a,b,c,進而求周長和面積。

起初存在的問題是企圖利用斜率相等判斷共線,即x1/y1=x2/y2=x3/y3,不過對於三點座標相等和y為0時沒有考慮。

最終採用以下方法判斷共線:

如何判斷三點共線

在二維座標系中,給出三點a(x1, x2)、b(y1, y2)、c(z1, z2)的座標,判

斷三點共線的條件是:

實質是判斷有三個點組成的三角形面積為0.

#include

#include

int main(void)

return

0;}

----------------------

由於會計算a,b,c,所以也有很多人會採用任意兩邊和大於第三邊方法來判斷能否組成三角形。

分支 02 三角形判斷 15

給定平面上任意三個點的座標 x1,y1 x2,y2 x3,y3 檢驗它們能否構成三角形。輸入格式 輸入在一行中順序給出6個 100,100 範圍內的數字,即3個點的座標x1,y1,x2,y2,x3,y3。輸出格式 若這3個點不能構成三角形,則在一行中輸出 impossible 若可以,則在一行中輸出...

三角形判斷 (15 分)

三角形判斷 15 分 給定平面上任意三個點的座標 x 1 y 1 x 2 y 2 x 3 y 3 檢驗它們能否構成三角形。輸入在一行中順序給出六個 100,100 範圍內的數字,即三個點的座標x 1 y 1 x 2 y 2 x 3 y 3 若這3個點不能構成三角形,則在一行中輸出 impossibl...

三角形判斷 15分

給定平面上任意三個點的座標 x 1 y 1 x 2 y 2 x 3 y 3 檢驗它們能否構成三角形。輸入格式 輸入在一行中順序給出六個 100,100 範圍內的數字,即三個點的座標x 1 y 1 x 2 y 2 x 3 y 3 輸出格式 若這3個點不能構成三角形,則在一行中輸出 impossible...