切換
舊版
前往
大廳
主題

ZeroJudge - e521: 106 彰雲嘉區複賽 - Q1 三角形 解題心得

Not In My Back Yard | 2020-07-28 00:00:09 | 巴幣 2 | 人氣 226

題目連結:


題目大意:
輸入第一列給定一正整數 n ,代表有 n 筆測試資料,每筆佔一列。每列給定三正整數 A 、 B 、 C (0 < A 、 B 、 C ≦ 10000),代表三條線段的長度。

試問,這三條線段可否圍成一個三角形。不行的話,輸出一個「0」;如果可以輸出一個「1」然後加上一個空白字元,並再判斷該形成的三角形是否可以被切成兩個相同的直角三角形。不行就輸出「0」;反之,輸出「1」。格式參見範例輸出。



範例輸入:
3
1 2 5
3 5 4
6 6 6


範例輸出:
0
1 0
1 1


解題思維:
三個線段可以形成一個三角形,若且唯若較短的兩線段之和大於最長的線段。所以可以排序 A 、 B 、 C 然後判斷這個式子是否成立,或者是直接看是否 A + B > C 、 A + C > B 和 B + C > A 三式皆成立。如果成立就是一個合法的三角形;反之,此三條線段無法形成一個三角形。

接著如果可以形成三角形,則還要再額外判斷有沒有兩條線段的長度是相等的。如果有,則代表其形成的三角形為等腰三角形,而該種三角形可以被切成兩個相等的直角三角形。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作