正式開始學習dfs的用法,突然發現以前不能做的問題原來是深度優先問題;
練手題很簡單,大概意思就是在就是一系列數中是否能找出幾個數相加,使結果等於乙個給定的數
1 #include2 #include3using
namespace
std;
4int a[100] = , n = 4, k=11;5
bool dfs(int i, int
sum)612
void
solve()
1317
intmain()
18
迴圈結束的條件是i==n,即前n項都計算完成後,判斷是否等於sum,
改良公升級版(規定幾個數相加,使的結果等於給定的乙個數)
1 #include2 #include3using
namespace
std;
4int a[100] = , n = 4, k=11;5
bool dfs(int i, int sum,int
mark)613
void
solve()
1418
intmain()
19
部分和問題 簡單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 並按輸入順序依次...
部分和問題
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 給定整數a1 a2 an,判斷是否可以從中選出若干數,使它們的和恰好為k。輸入 首先,n和k,n表示數的個數,k表示數的和。接著一行n個數。1 n 20,保證不超int範圍 輸出如果和恰好可以為k,輸出 yes 並按輸入順序依次...