時間限制: 1 s
空間限制: 32000 kb
題目等級 : ** gold
題目描述 description
在n個數中找出其和為m的若干個數。先讀入正整數n和m, 再讀入n個正數(可以有相同的數字,每個數字均在1000以內), 在這n個數中找出若干個數, 使它們的和是m, 把滿足條件的數字組合都找出來以統計組合的個數,輸出組合的個數(不考慮組合是否相同)。要求你的程式執行時間不超過1秒。
輸入描述 input description
第一行是兩個數字,表示n和m。
第二行起是n個數。
輸出描述 output description
就乙個數字,表示和為m的組合的個數。
樣例輸入 sample input
4 41 1 2 2
樣例輸出 sample output 3
資料範圍及提示 data size & hint
11**:
#include#include#includeusing namespace std;
int n,m;
int a[110];
long long f[10001];
int main()
{ scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
memset(f,0,sizeof(f));
f[0]=1;
for(int i=1;i<=n;i++)
for(int j=m;j>=a[i];j--)
f[j]=f[j]+f[j-a[i]];
cout<
揹包問題 codevs2210 數字組合
題目描述 description 在n個數中找出其和為m的若干個數。先讀入正整數n和m,再讀入n個正數 可以有相同的數字,每個數字均在1000以內 在這n個數中找出若干個數,使它們的和是m,把滿足條件的數字組合都找出來以統計組合的個數,輸出組合的個數 不考慮組合是否相同 要求你的程式執行時間不超過1...
數字組合問題
題目 有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個數字,最後一行輸出最大的那個數字!題目解析 拿到這題目,看起要...