2014藍橋杯B組初賽試題《六角填數》

2022-08-30 15:24:26 字數 779 閱讀 4832

題目描述:

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

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

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

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

解題思路:

圖中的六角形中一共是12個數字,我們不妨就按照從上到下,從左到右的順序為這12個節點進行編號。

然後我們繼續進行分析,該圖形一共有6條線,我們只需要讓對應線上的元素的和相同即可。

我們使用陣列儲存1~12個節點的數值,通過遞迴的形式遍歷出所有的可能,然後最後對結果進行判斷。

程式**:

#includeusing namespace std;

bool check(int *a,int num) //用於檢驗a[num]時候與前面的元素是否有相同的值

return true;

}bool final_check(int *a) //用於檢驗是否所有直線上的和相等

//void show(int *a)

// 表示a[1]=1,a[2]=8,而a[0]=3就是a[12]的值;

a[0]的作用體現在check函式中,通過比較,可以使a[1]~a[11]中的所有的節點取值都不為3,我們還注意到當num=12的時候,沒有在對其進行check,因為前面已經通過a[0]的限制保證了前面的11個節點都不會取到3.

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

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

藍橋杯 六角填數

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

藍橋杯 六角幻方

把 1 2 3 19 共19個整數排列成六角形狀,如下 要求每個直線上的數字之和必須相等。共有15條直線哦!再給點線索吧!我們預先填好了2個數字,第一行的頭兩個數字是 15 13,參見圖 p1.png 黃色一行為所求。請你填寫出中間一行的5個數字。數字間用空格分開。這是一行用空格分開的整數,請通過瀏...