暴力列舉 妖夢拼木棒

2021-10-08 07:18:46 字數 840 閱讀 3281

上道題中,妖夢斬了一地的木棒,現在她想要將木棒拼起來。

有 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...