1. 程式人生 > >演算法訓練 方格取數(動態規劃)

演算法訓練 方格取數(動態規劃)

問題描述 
  設有N*N的方格圖(N<=10),我們將其中的某些方格中填入正整數,而其他的方格中則放入數字0。
  某人從圖的左上角的A 點(1,1)出發,可以向下行走,也可以向右走,直到到達右下角的B點(N,N)。在走過的路上,他可以取走方格中的數(取走後的方格中將變為數字0)。
  此人從A點到B 點共走兩次,試找出2條這樣的路徑,使得取得的數之和為最大。
輸入格式
  輸入的第一行為一個整數N(表示N*N的方格圖),接下來的每行有三個整數,前兩個表示位置,第三個數為該位置上所放的數。一行單獨的0表示輸入結束。
輸出格式
  只需輸出一個整數,表示2條路徑上取得的最大的和。
樣例輸入
  8
  2 3 13
  2 6 6
  3 5 7
  4 4 14
  5 2 21
  5 6 4
  6 3 15
  7 2 14
  0 0 0
樣例輸出

  67