六角填數 DFS

2021-07-27 04:28:48 字數 494 閱讀 3400

題目是這樣的:

如圖【1.png】所示六角形中,填入1~12的數字。

使得每條直線上的數字之和都相同。

圖中,已經替你填好了3個數字,請你計算星號位置所代表的數字是多少?

解法:將12個數字放置到12個位置中,深度搜尋,暴力列舉的方法每放置乙個數字,檢查之前所放置位置的數字是否出現重複當恰好放置12個數字並且六個邊的和相同列印出所有的數字。

#include#includeint t[6];

int num[12];

void dfs(int cur)

//否則繼續放置數字,從1開始逐個放置

else for (int i = 1; i <= 12; i++)

if (ok)

}}int main()

DFS 六角填數

下圖所示六角形中,填入1 12的數字。使得每條直線上的數字之和都相同。圖中,已經替你填好了3個數字,請你計算星號位置所代表的數字是多少?這道題用dfs遍歷來解決,感覺遞迴是乙個蠻神奇的東西,可能還是理解不深,希望以後能通過多做一些題,更深地理解dfs演算法的核心 遞迴。main.cpp dfs 六角...

六角填數(dfs)

如圖 1.png 所示六角形中,填入1 12的數字。使得每條直線上的數字之和都相同。圖中,已經替你填好了3個數字,請你計算星號位置所代表的數字是多少?題解 參考部落格 寫的很仔細 includeint a 13 v 13 存入資料,判斷是否已存在 void dfs int x void judge ...

藍橋杯 六角填數

如圖 1.png 所示六角形中,填入1 12的數字。使得每條直線上的數字之和都相同。陣列分配 2 4 5 6 7 8 9 10 11 12 圖中,已經替你填好了3個數字,請你計算星號位置所代表的數字是多少?請通過瀏覽器提交答案,不要填寫多餘的內容。簡單的列舉排列,只要提前將12個結點標號,來判斷六個...