題目描述:符號三角問題:下圖是由14個「+」和14個「-」組成的符號三角形。2個同號下面都是「+」,2個異號下面都是「-」。
在一般情況下,符號三角形的第一行有n個符號。符號三角形問題要求對於給定的n,計算有多少個不同的符號三角形,使其所含的「+」和「-」的個數相同。(參考計算機演算法設計與分析第五版-王曉東)
**如下:
示例輸入輸出:#include
#include
#include
#include
#include
using namespace std;
int sum =
0, n, ret =
0, half;
//sum為-號的數量,n為第一排符號數,count為滿足條件三角形個數,half為符號的總數量
int s[
500]
[500];
void
solve
(int t,
int sum)
for(
int i =
0; i <
2; i++
)solve
(t +
1, sum + i)
;for
(int j =
2; j <= t; j++
)//撤銷之前操作,以便進行下一種排列
sum -
= s[j]
[t - j +1]
;}}int
main()
system
("pause");
return0;
}
學習中,歡迎交流
符號三角形之回溯演算法
下圖是由 14個 和 14個 組成的符號三角形。2個同號下面都是 2個異號下面都是 個符號。符號三角形問題要求對於給定的 n,計算有多少個不同的符號三角形,使其所含的 和 的個數相同。include define max 100 int arr max max int n int sum 2 int...
演算法設計 符號三角形(回溯)
給定第一行的符號 只有 數目n,每行比上一行數目少一 形成乙個倒三角 2個相同符號下面為 號,2個不同符號下面為 號,要求有多少種情況使得兩種符號數目相同。第一行為7的符號三角形之一 我們發現 由於只有兩種符號,所以我們可簡化為0 1形式 總符號數為n n 1 2,如果總數為奇數,那麼一定不可能符號...
回溯之符號三角形問題
符號三角形問題 下圖是由14個 和 14個 組成的符號三角形。2個同號下面都是 2個異號下面都是 在一般情況下,符號三角形的第一行有 n個符號。符號三角形問題要求對於給定的 n,計算有多少個不同的符號三角形,使其所含的 和 的個數相同。解向量 用n元組x 1 n 表示符號三角形的第一行。可行性約束函...