小蒜有 n(1≤n≤20) 個正整數,找出其中和為 (t 也是正整數)的可能的組合方式。如:n=5 個數分別為 1,2,3,4,5 t=5;
那麼可能的組合有 5=1+4 和 5=2+3 和 5=5 三種組合方式。
輸入格式
輸入的第一行是兩個正整數 n 和 t,用空格隔開,其中1≤n≤20, 表示正整數的個數,t 為要求的和 (1≤t≤1000)
接下來的一行是 n 個正整數,用空格隔開。
輸出格式
和為 tt 的不同的組合方式的數目。
輸出時每行末尾的多餘空格,不影響答案正確性
樣例輸入
5 51 2 3 4 5
樣例輸出
3
dp[i][j]表示前i個數等於j的個數
#include
using
namespace std;
const
int maxn=30;
const
int inf=
1001
;int
main()
for(
int i=
1;i<=n;i++
)for
(int j=num[i]+1
;j<=t;j++)}
printf
("%d"
,dp[n]
[t])
;}
數字組合 動態規劃 01揹包 openjudge
總時間限制 1000ms 記憶體限制 65536kb 描述 有n個正整數,找出其中和為t t也是正整數 的可能的組合方式。如 n 5,5個數分別為1,2,3,4,5,t 5 那麼可能的組合有5 1 4和5 2 3和5 5三種組合方式。輸入 輸入的第一行是兩個正整數n和t,用空格隔開,其中1 n 20...
數字組合問題
題目 有1 2 3 4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?程式分析 可填在百位 十位 個位的數字都是1 2 3 4。組成所有的排列後再去 掉不滿足條件的排列。方法一 列出取值範圍內所有資料,分別檢查是否符合條件 public static void calculatenum1...
數字組合問題
設有n個正整數,現在需要你設計乙個程式,使他們連線在一起成為最大的數字,例3個整數 12,456,342 很明顯是45634212為最大,4個整數 342,45,7,98顯然為98745342最大 程式要求 輸入整數n 接下來一行輸入n個數字,最後一行輸出最大的那個數字!題目解析 拿到這題目,看起要...