上了大學之後,JOI 君修了一門叫做線性代數的課,裡面常常用到矩陣乘法。
假設有矩陣 $A, B$ 其中 $A$ 是個 $n \times m$ 大小的矩陣,且 $B$ 是個 $m \times k$ 大小的矩陣。
那 $AB = C$ ,$C$ 是個 $n \times k$ 大小的矩陣,並且我們需要做 $nmk$ 那麼多次的運算才能夠算出 $C$。
不只如此,矩陣乘法是有結合律的,也就是說 $A(BC) = (AB)C$。
JOI 君拿到了一份作業,題目如下。
給定 $N$ 個矩陣 $A_1, A_2,\ldots,A_N$ 請問 $A_1A_2\ldots A_N$ 為多少?
看到之後 JOI 君瑟瑟發抖,因為計算量實在太龐大了。
JOI 君發現,因為結合律的關係,只要改變計算順序就有可能省下一些計算量。
聰明的你,可不可以告訴 JOI 君,在最佳狀況下,需要幾次運算才能得到答案呢?
輸入第一行為一個正整數 $N(N \le 1000)$ 代表總共有幾個矩陣。
接下來一行有 $N+1$ 個正整數以一個空白隔開 $B_1, B_2,\ldots,B_N, B_{N+1}(B_i \le 1000)$。
代表說,第 $i$ 個矩陣是 $B_i \times B_{i+1}$ 的矩陣。
請輸出一行整數代表答案。
TIOJ 1488
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~1 | 範例測資 | 0 |
2 | 0~19 | 無額外限制 | 100 |