挑戰程式設計競賽 1 6節 三角形

2022-07-31 22:51:16 字數 726 閱讀 5050

問題主題:三角形

問題描述:

有n根棍子,棍子i的長度為ai,想要從中選出三根棍子組成周長盡可能長的三角形。請輸出最大的周長,若無法組成三角形則輸出0。

樣例:

輸入n=5

a=輸出

12(選擇3,4,5時)

輸入n=4

a=輸出

0(無法構成三角形)

**:

1 #include 2 #include 3 #include 4 #include 5

6using

namespace

std;78

intmain()916

17//

sort比qsort快一些

18 sort(a, a+n);

1920

for(int i = n - 1; i > 1;i--)28}

29}30}

3132 printf("

%d---不能組成三角形

",0);

3334

last:

35return0;

3637

38 }

思路是,先對陣列從小到大排序,然後第一根棍子最長,第二根棍子次長,第三根最短,三根棍子分別從大到小遍歷,當遇到滿足條件的三根棍子,那麼不用繼續遍歷了,此刻已經是最長的棍子了。

程式設計挑戰2 三角形問題

三角形 有 n根棍子,棍子 i的長度為 a i 想要從中選出 3根棍子組成周長盡可能長的三角形。請輸 出最大的周長,若無法組成三角形則輸出 0。用5根棍子組成三角形的例子 限制條件 3 n 100 1 a i 10 6 輸入 n 5 a 樣例 1 輸出 12 選擇3 4 5時 方法1如下思路,是乙個...

C 競賽 F yyy的三角形

時間限制 2s 記憶體限制 32mb 問題描述 yyy對三角形非常感興趣,他有n個木棍,他正在用這些木棍組成三角形。這時 拿了兩根木棍過來,希望yyy能給他一根木棍,使得 可以組成乙個三角形。yyy想知道他有多少根木棍滿足 的要求。輸入描述 第一行乙個整數t 1 t 5 表示資料組數。對於每組資料第...

求大三角形中三角形個數

一道筆試程式設計題要求求乙個大三角形中所有小三角形的個數,大約是下面這種情況 首先想到是的將問題由求邊長為n的三角形個數 求邊長為n 1的三角形個數 求邊長為1的三角形個數 1,回溯求得所有三角形個數。但是再仔細一看因為有重疊三角形和倒置的三角形,所以這個方法不可行。接著找到三角形個數由三部分組成 ...