回分類題庫
b040: 以物易物
關鍵字: 回溯法-子集合總和

測資點 : 5 | Time Limit : 1000 ms | Memory Limit : 32000 KB
Accepted : 534 Times / 455 Users | Submit : 1616 Times / 495 Users | Accepted rate : 92%
題目加入時間 : 2011-11-13 17:12

Content: 简体中文

遠古時代,當貨幣制度還沒有產生之前,人們是用以物易物的方式來交換所需要的物資。大南中古交換中心就是以類似的模式在經營,不同的是他們會將裡面所有的物品標價,而當顧客拿東西要來交換的時候,他們會先幫顧客的物品先估一個價格,而顧客則可以從裡面現有的物品裡挑選一個以上,只要加起來的價格沒有超過顧客帶來物品的價格,交易就算成立。

今天小雅來到大南中古交換中心,因為小雅是個非常精打細算的人,如果所挑選的物品的總價比她所帶來的東西低,則她不會從事這次的交易。現在給你交換中心裡所有物品的價格,以及小雅帶來的東西的價格,請你找出她有幾個不同的交易方式,或者不會進行交易。

Input:

輸入資料第一行有兩個正整數 N、M (1<=N<=20、1<=M<=100000000),N 代表交換中心有幾種物品,M 代表小雅帶來的物品的價格。第二行有 N 個正整數 Ai,即交換中心 N 種物品的價格 (1<=Ai<=M),而且這些價格都不會相同。

Output:

請輸出所有小雅可以交易的方式,每種方式以一行輸出,將要交換的物品價格依照原本輸入的順序輸出。有多組交易方式時,請以前幾項物品取的方式優先。而如果找不到一種交易方式所交換的物品價格和小雅帶來的東西相等,則請輸出 NO。

Sample Input:help

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
4 31
11 13 24 7

Sample Output :

11 13 7
24 7

Hint :

Author :

回溯法-子集合總和 (管理員:sagit)

  Solve it!   Status Forum