挑戰程式設計競賽(水題打卡)

2022-05-02 11:54:10 字數 455 閱讀 5530

一、題目

有n根棍子,棍子i的長度為ai。想要從中選出三根棍子,使其構成的三角形的周長最大。請輸出最大的周長,如果無法構成三角形,則輸出0。

二、解法

1)思路:首先根據長度排序(假設從小到大),貪心的選取(從大到小的遍歷)如果與前兩根構成三角形,則跳出迴圈。

正確性:如果一根棍子與前兩個都不能構成三角形,與更前面的更不能構成三角形

2)**:

1 #include2 #include3

using

namespace

std;

4const

int maxn = 100 + 10;5

intlen[maxn];67

intmain()821

}22 printf("%d"

, res);

23return0;

24 }

挑戰程式設計競賽(3)

給定整數a1,a2,an,判斷是否可以從中選出若干數,使他們的和恰好為k。1 n 20 1e8 ai 1e8 1e8 k 1e8 樣例1input 4 1 2 4 7 13 output yes 13 2 4 7 樣例2input 4 1 2 4 7 15 output no dfs include...

挑戰程式設計競賽 樹

二叉樹的表達 樹的遍歷 從根r到結點x的路徑長度為x的深度 depth 結點x到葉結點的最大路徑長度成為結點x的高。請編寫乙個程式,輸出給定有根樹t中各節點u的資訊。採用 左子右兄弟表示法 1 結點u的父節點 2 結點u最左側的子結點 3 結點u右側緊鄰的兄弟結點 引用u.parent即可知道結點u...

挑戰程式設計競賽 硬幣遊戲

首先明確此為0和博弈問題,我們始終以ali cealice alic e的觀點來看待問題。定義ali cealice alic e贏為可解.因此我們採用記憶化搜尋,整個搜尋空間最多為o x p o xp o xp 便可以解決此問題。include includeusing namespace std...