上道題中,妖夢斬了一地的木棒,現在她想要將木棒拼起來。
有 n 根木棒,現在從中選 4 根,想要組成乙個正三角形,問有幾種選法?
答案對 109 + 7 取模
第一行乙個整數 n。
第二行 n 個整數,第 i 個整數 ai 代表第 i 根木棒的長度。
一行乙個整數代表答案
輸入樣例
41 1 2 2
輸出樣例資料規模與約定
假設選取的四根木棒的長度分別為 a,b,c,d,
因為要得到正三角形,所以可以得到等式:a = b = c + d (c ≤ d),
將長度為 i 的木棒根數存放在 s[i] 中,
若 c = d,則這種情況的個數為:
若 c 不等於 d,則這種情況的個數為:
將結果相加取餘即可得到最後的答案。
#include
using
namespace std;
const
int mod=
1e9+7;
int f[
100005
],s[
5005
],n,cnt=0;
intmain()
for(
int a=
2;a<=
5000
;a++
)else
if(c!=d&&s[a]
>=
2&&s[c]
>=
1&&s[d]
>=1)
cnt=cnt%mod;}}
cout<
return0;
}
妖夢拼木棒
上道題中,妖夢斬了一地的木棒,現在她想要將木棒拼起來。有n根木棒,現在從中選4根,想要組成乙個正三角形,問有幾種選法?第一行乙個整數n 第二行n個整數,a1,a2,an 0 一行乙個整數,對1e9 7取模 輸入 1 4 1 1 2 2 輸出 1 1 對於30 的資料 n 5000 對於100 的資料...
P3799 妖夢拼木棒 暴力列舉 組合數
上道題中,妖夢斬了一地的木棒,現在她想要將木棒拼起來。有 nn根木棒,現在從中選 4 根,想要組成乙個正三角形,問有幾種選法?答案對 10 9 7 取模。第一行乙個整數 nn。第二行 nn 個整數,第 i 個整數 ai 代表第 i 根木棒的長度。一行乙個整數代表答案。輸入 4 1 1 2 2輸出 1...
P3799 妖夢拼木棒
有 nn根木棒,現在從中選 4 根,想要組成乙個正三角形,問有幾種選法?答案對 10 9 7取模。輸入 第一行乙個整數 n。第二行 n 個整數,第 i 個整數 a i,代表第 i 根木棒的長度。輸出 一行乙個整數代表答案。主要是對長度進行計算和處理 因為ai的數值偏小。注意 using namesp...