問題主題:三角形
問題描述:
有n根棍子,棍子i的長度為ai,想要從中選出三根棍子組成周長盡可能長的三角形。請輸出最大的周長,若無法組成三角形則輸出0。
樣例:
輸入n=5
a=輸出
12(選擇3,4,5時)
輸入n=4
a=輸出
0(無法構成三角形)
**:
1 #include 2 #include 3 #include 4 #include 56using
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,回溯求得所有三角形個數。但是再仔細一看因為有重疊三角形和倒置的三角形,所以這個方法不可行。接著找到三角形個數由三部分組成 ...