方格棋盤路線 (AP325 P-6-6)
1.0s 256M在一個 \(m \times n\) 方格棋盤上,每個格子都有一個分數(可正可負),現在要從左上角的格子走到右下角,每次只能從當時位置移動到右方或下方的格子,請計算出經過路線上的數字的最大可能總和。以範例一的棋盤為例,最大的總和路線是經過 \((2, -2, 5, 7, -5, 4)\),總和為 \(11\)。
輸入格式
第一行有兩個正整數 \(m\) 與 \(n\)。接下來 \(m\) 行,每行 \(n\) 個整數,代表方格由上而下、由左而右的內容,同一行數字間以空白隔開。
限制
- \(1 \le m, n \le 200\)。
- 矩陣內的數字絕對值皆不超過 \(10^4\)。
輸出格式
輸出最大總和。
評分說明
每筆計分測資獨立計分,每筆 5 分,共 100 分;範例不計分。
範例輸入 1
3 4
2 -2 3 3
-6 5 2 -8
3 7 -5 4
範例輸出 1
11
範例輸入 2
2 5
1 2 3 1 -5
-2 5 -8 2 1
範例輸出 2
10
範例說明
範例一:如題目中說明,路線為右、下、右、下、右,經過 \((2, -2, 5, 7, -5, 4)\)。
範例二:先向右走三步,向下一步,再向右一步,得分 \(1+2+3+1+2+1=10\)。
題目來源
本題出自中正大學吳邦一教授所著《AP325-從 APCS 實作題檢測三級到五級》(v1.5)第 6 章 P-6-6,第 175 頁;經作者同意於 AACPOJ 免費公開。教材下載:AP325 講義(Google Drive);Python 版:AP325-Python(HackMD)。
登入後即可撰寫程式並提交評測。
登入