部分和問題 (搜尋)

2021-08-11 19:41:10 字數 712 閱讀 2666

d : 部分和問題  

時間限制:1 sec 記憶體限制:64 mib

給定整數a1、a2、.......an,判斷是否可以從中選出若干數,使它們的和恰好為k。

首先,n和k,n表示數的個數,k表示數的和。

接著一行n個數。

(1<=n<=20,保證不超int範圍)

如果和恰好可以為k,輸出「yes」,並按輸入順序依次輸出是由哪幾個數的和組成,否則「no」

複製

4 13

1 2 4 7

複製

yes

2 4 7

#include

intn,k

;inta[

100],b[

100];

bool

dfs(

inti

,int

sum)

//if

(dfs(i

+1,sum+a

[i]))return

false;}

intmain

()if

(dfs(0

,0))printf

("\n");}

else

printf

("no\n");}

return0;

}

深度優先搜尋 部分和問題

include include include include define max n 2147483647 using namespace std 深度優先搜尋 部分和問題 給定整數a1,a2,a3,an,判斷是否可以從中選出若干數,使它們的和恰好為k。問題解決思路 1 dfs遍歷每個數列元素能...

部分和問題

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 給定整數a1 a2 an,判斷是否可以從中選出若干數,使它們的和恰好為k。輸入 首先,n和k,n表示數的個數,k表示數的和。接著一行n個數。1 n 20,保證不超int範圍 輸出如果和恰好可以為k,輸出 yes 並按輸入順序依次...

部分和問題

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 給定整數a1 a2 an,判斷是否可以從中選出若干數,使它們的和恰好為k。輸入 首先,n和k,n表示數的個數,k表示數的和。接著一行n個數。1 n 20,保證不超int範圍 輸出如果和恰好可以為k,輸出 yes 並按輸入順序依次...