演算法設計 符號三角形(回溯)

2021-10-05 21:30:36 字數 700 閱讀 8374

給定第一行的符號(只有+,-)數目n,每行比上一行數目少一(形成乙個倒三角),2個相同符號下面為「+」號,2個不同符號下面為「-」號,要求有多少種情況使得兩種符號數目相同。

第一行為7的符號三角形之一:

我們發現

由於只有兩種符號,所以我們可簡化為0、1形式

①總符號數為n(n+1)/2,如果總數為奇數,那麼一定不可能符號數相等

②當某一符號數大於總數的一半時,那麼此情況不存在解

#include

#define n 100

int n;

int cnt=

0,sum=0;

int half;

int p[n]

[n]=

;void

backtrack

(int t)

for(i=

0;i<

2;i++

)backtrack

(t+1);

for(j=

2;j<=t;j++

) cnt-

=i;}

}int

main()

return0;

}

符號三角形之回溯演算法

下圖是由 14個 和 14個 組成的符號三角形。2個同號下面都是 2個異號下面都是 個符號。符號三角形問題要求對於給定的 n,計算有多少個不同的符號三角形,使其所含的 和 的個數相同。include define max 100 int arr max max int n int sum 2 int...

符號三角形 回溯演算法 C

題目描述 符號三角問題 下圖是由14個 和14個 組成的符號三角形。2個同號下面都是 2個異號下面都是 在一般情況下,符號三角形的第一行有n個符號。符號三角形問題要求對於給定的n,計算有多少個不同的符號三角形,使其所含的 和 的個數相同。參考計算機演算法設計與分析第五版 王曉東 如下 include...

回溯之符號三角形問題

符號三角形問題 下圖是由14個 和 14個 組成的符號三角形。2個同號下面都是 2個異號下面都是 在一般情況下,符號三角形的第一行有 n個符號。符號三角形問題要求對於給定的 n,計算有多少個不同的符號三角形,使其所含的 和 的個數相同。解向量 用n元組x 1 n 表示符號三角形的第一行。可行性約束函...