題目是這樣的:
如圖【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個結點標號,來判斷六個...