小哈春遊 深度搜尋演算法

2021-10-14 04:06:03 字數 556 閱讀 3216

描述

小哈準備參加學校組織的春遊,出發前小哈準備往揹包裡裝入一些零食,小哈的揹包容量為w公升。小哈家裡一共有n袋零食,第i袋零食體積為v[i]。

小哈想知道在總體積不超過揹包容量的情況下,他一共有多少種零食放法。

輸入輸入包括兩行

第一行為兩個正整數n和w(1<=n<=30,1<=w<=2*10^9),表示零食的數量和揹包的容量。

第二行n個正整數vi,表示每袋零食的體積。

輸出輸出乙個正整數, 表示牛牛一共有多少種零食放法。

輸入樣例 1

3 10

1 2 4

輸出樣例 1

8**如下:

#include

using namespace std;

int n, v[31]

, book[31]

=, total =0;

void

dfs(

int w,

int num)

} total++;}

intmain()

深度優先搜尋演算法

include include define vertexnum 9 struct node typedef struct node graph struct node head vertexnum 定義圖形結構 int visited vertexnum 頂點陣列 深度優先搜尋 void dfs ...

深度優先搜尋演算法

今天我們來複習一下萬能的搜尋演算法之深度優先搜尋演算法。深度優先搜尋演算法顧名思義就是按照樹的延伸不停的往下搜尋,直到樹的盡頭之後再一步一步的回溯回來。好吧,我們直接問你乙個問題,給你乙個數n,讓你輸出從1到這個樹的全排列,你會怎麼寫,會不會想到去用若干個for迴圈?好吧,你肯定錯了,其實他考的就是...

深度優先搜尋演算法

1.深度優先搜尋演算法的概念 深度優先搜尋屬於圖演算法的一種,英文縮寫為dfs depth first search.其過程簡要來說是對每乙個可能的分支路徑深入到不能再深入為止,而且每個 節點只能訪問一次。如下例 該圖為乙個無向圖,假設我們從a開始進行深度優先搜尋,第二點可以是b c d中任意乙個,...