如圖【1.png】所示六角形中,填入1~12的數字。
使得每條直線上的數字之和都相同。
圖中,已經替你填好了3個數字,請你計算星號位置所代表的數字是多少?
請通過瀏覽器提交答案,不要填寫多餘的內容。
暴力:
#include #include#includeusing namespace std;
int main()
{ int a[13],t;
for(int i=0;i<12;i++)
a[i]=i+1;
while(next_permutation(a,a+12))
{t=a[1]+a[2]+a[3]+a[4];
if(a[0]==1&&a[1]==8&&a[11]==3&&t==a[7]+a[8]+a[9]+a[10]&&t==a[0]+a[2]+a[5]+a[7]
&&t==a[4]+a[6]+a[9]+a[11]&&t==a[1]+a[5]+a[8]+a[11]&&t==a[0]+a[3]+a[6]+a[10])
{cout總結:next_permutation(a,a+12)這個函式是全排列函式,標頭檔案為algorithm
法二:dfs
#include #include#include#includeusing namespace std;
int a[13];
bool vis[13];
void dfs(int k)
{ int t=a[1]+a[2]+a[3]+a[4];
if(k==12&&a[0]==1&&a[1]==8&&a[11]==3&&t==a[7]+a[8]+a[9]+a[10]&&t==a[0]+a[2]+a[5]+a[7]
&&t==a[4]+a[6]+a[9]+a[11]&&t==a[1]+a[5]+a[8]+a[11]&&t==a[0]+a[3]+a[6]+a[10])
{cout總結:多找些dfs型別的題目做,因為掌握的還不好
藍橋杯 六角填數
如圖 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個數字。數字間用空格分開。這是一行用空格分開的整數,請通過瀏...
14年藍橋杯 六角填數
如圖所示六角形中,填入1 12的數字。使得每條直線上的數字之和都相同。圖中,已經替你填好了3個數字,請你計算星號位置所代表的數字是多少?請通過瀏覽器提交答案,不要填寫多餘的內容。答案為 10 解題思路 將1 12剩餘沒填入的數字放入乙個陣列中,對他進行全排列,並判斷每一種排列是否符合條件 inclu...