14年藍橋杯 六角填數

2021-08-17 16:00:47 字數 736 閱讀 2610

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

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

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

請通過瀏覽器提交答案,不要填寫多餘的內容。

答案為:10

解題思路:將1~12剩餘沒填入的數字放入乙個陣列中,對他進行全排列,並判斷每一種排列是否符合條件

**:

#include #define m 10

int judge(int *num);

void swap(int *a,int *b);

void allpos(int current,int *num);

int flat=0;

int main(void)

; allpos(1,num);

return 0;

}//檢查陣列是否符合條件,陣列中的值與圖形相結合

int judge(int *num)

//全排列

void allpos(int current,int *num)

if(current>=m-1||flat) return;

int i=0;

for(i=current;i

void swap(int *a,int *b)

藍橋杯 六角填數

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

藍橋杯試題 歷屆試題 六角填數

使得每條直線上的數字之和都相同。圖中,已經替你填好了3個數字,請你計算星號位置所代表的數字是多少?請通過瀏覽器提交答案,不要填寫多餘的內容。答案 將上面九個空由上到下,由左到右依次編號為a 0 a 8 那麼 代表就是a 3 用全排列對齊進行排列 include using namespace std...

六角填數 DFS

題目是這樣的 如圖 1.png 所示六角形中,填入1 12的數字。使得每條直線上的數字之和都相同。圖中,已經替你填好了3個數字,請你計算星號位置所代表的數字是多少?解法 將12個數字放置到12個位置中,深度搜尋,暴力列舉的方法每放置乙個數字,檢查之前所放置位置的數字是否出現重複當恰好放置12個數字並...