1794 拼三角形 狀壓dp

2021-08-22 06:19:54 字數 768 閱讀 4388

時間限制:20000ms

單點時限:1000ms

記憶體限制:256mb

給定 n 根木棍,第 i 根長度為 ai

現在你想用他們拼成盡量多的面積大於 0 的三角形,要求每根木棍只能被用一次,且不能折斷

請你求出最多能拼出幾個

第一行乙個正整數 n

第二行 n 個正整數 a1 … an

1 ≤ n ≤ 15

1 ≤ ai ≤ 109

輸出最多能拼出幾個三角形

樣例輸入

6

2 2 3 4 5 6

樣例輸出

2
思路:

預先把合法三角形處理一下,然後狀壓dp一下。

**:

#include using namespace std;

#define ll long long

const int maxn=(1<<16)+10;

int a[20];

int st[maxn],ans;

int dp[maxn];

int n;

int max_1;

bool pan(int x,int y,int z)

sort(a,a+n);

for(int i=0;ifor(int j=i+1;jfor(int k=j+1;k}

dp[0]=1;

for(int i=0;i<=(1<}

}cout

}

三角形形狀

描述 給以乙個三角形的三邊長a,b和c 邊長是浮點數 請你判斷三角形的形狀。若是銳角三角形,輸出r,若是直角三角形,輸出z,若是鈍角三角形,輸出d,若三邊長不能構成三角形,輸出w.from future importprint function a,b,c 6,8,10 defwhat kind a...

三角形形狀

題目描述 讀入三角形的三條邊,進行如下的判斷 如果輸入值不合法,輸出 illegal 如果輸入值合法,兩條較短邊的平方和大於最長邊的平方,則輸出 acute 表示銳角三角形 如果輸入值合法,兩條較短邊的平方和等於最長邊的平方,則輸出 right 表示直角三角形 如果輸入值合法,兩條較短邊的平方和小於...

DS 判斷三角形形狀

題目描述 編寫程式,根據三角形三條邊的長度判斷該三角形是哪種三角形?三角形的型別包括 等邊三角形 等腰三角形 直角三角形 普通三角形 也有可能,無法組成三角形 輸入輸入包括多行資料,每行包括三個正整數,a,b,c代表三角形三條邊的長度 輸出針對每行輸入,做如下處理後換行 如果該三角形是等邊三角形,輸...