作為一個競速破關玩家 (speedrunner),你對「撿金幣」遊戲地圖瞭若指掌。一開始玩家會從左上角 (0,0) 開始,並走到右下角 (N−1,M−1) 再回到 (0,0) 算過關。每次只能移動到相鄰的格子,相鄰格子是指有共同邊。在某些格子上有障礙物,有障礙物的格子不能經過,而在沒有障礙物的格子上有些有一枚金幣,經過就可以搜集金幣。
因為你的目標還是 speedrun,你要在 2(N+M−2) 秒過關,你想知道在此條件下,最多能搜集多少金幣。
輸入第一行有兩個空白分的正整數 N,M,分別表示地圖的長寬。 接下來的 N 行,每一行都有 M 個空白分隔的整數 aij,當 aij=0 時表示該格是普通格子,aij=1 時表示該格有金幣,aij=−1 時表示該格有障礙物。
輸入保證 1≤N,M≤100,−1≤aij≤1。
請輸出一個整數代表最多可搜集的金幣。請注意有可能你無論如何都無法在 2(N+M−2) 秒內通關,此時請輸出 0。
2 3 1 0 -1 1 0 1
3
北市賽