藍橋杯 ALGO 115 演算法訓練 和為T

2021-09-01 09:21:16 字數 970 閱讀 2573

問題描述

從乙個大小為n的整數集中選取一些元素,使得它們的和等於給定的值t。每個元素限選一次,不能乙個都不選。

輸入格式

第一行乙個正整數n,表示整數集內元素的個數。

第二行n個整數,用空格隔開。

第三行乙個整數t,表示要達到的和。

輸出格式

輸出有若干行,每行輸出一組解,即所選取的數字,按照輸入中的順序排列。

若有多組解,優先輸出不包含第n個整數的;若都包含或都不包含,優先輸出不包含第n-1個整數的,依次類推。

最後一行輸出總方案數。

樣例輸入

5

-7 -3 -2 5 9

0

樣例輸出

-3 -2 5

-7 -2 9

2

資料規模和約定

1<=n<=22

t<=maxlongint

集合中任意元素的和都不超過long的範圍

分析:1.資料規模在n<=22,遞迴搜尋不會超時,每個數字可選擇拿或不拿

2.搜尋為了保證符合題目順序,從後向前搜尋~

#include #include using namespace std;

vectorv, ans;

int n, k, cnt;

void dfs(int num, int sum) else

}cnt++;

}} else

}int main()

藍橋杯 演算法訓練 ALGO12

問題描述 如果乙個序列滿足下面的性質,我們就將它稱為擺動序列 1.序列中的所有數都是不大於k的正整數 2.序列中至少有兩個數。3.序列中的數兩兩不相等 4.如果第i 1個數比第i 2個數大,則第i個數比第i 2個數小 如果第i 1個數比第i 2個數小,則第i個數比第i 2個數大。比如,當k 3時,有...

藍橋杯 ALGO 83 演算法訓練 階乘

問題描述 乙個整數n的階乘可以寫成n 它表示從1到n這n個整數的乘積。階乘的增長速度非常快,例如,13 就已經比較大了,已經無法存放在乙個整型變數中 而35 就更大了,它已經無法存放在乙個浮點型變數中。因此,當n比較大時,去計算n 是非常困難的。幸運的是,在本題中,我們的任務不是去計算n 而是去計算...

藍橋杯 ALGO 33 演算法訓練 數列

演算法訓練 數列 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給定乙個正整數k 3 k 15 把所有k的方冪及所有有限個互不相等的k的方冪之和構成乙個遞增的序列,例如,當k 3時,這個序列是 1,3,4,9,10,12,13,該序列實際上就是 30,31,30 31,32,30 32,...