using namespace std;
class Main {
int collectCoin(int coin[][]) {
// 构建动态规划表格
int[][] dpArray = new int[coin.length][coin[0].length];
//填充动态规划表格
for (int i = 0; i < coin.length; ++i) {
for(int j = 0; j < coin[i].length; ++j) {
int coinCollect = 0;
if (i > 0 && j > 0) {
coinCollect += Math.max(dpArray[i-1][j], dpArray[i][j-1]);
if (dpArray[i-1][j] > dpArray[i][j-1]) {
coinCollect += dpArray[i-1][j];
}
}
else if (i > 0) {
coinCollect += dpArray[i-1][j];
}
else if (j > 0) {
coinCollect += dpArray[i][j-1];
}
coinCollect += coin[i][j];
dpArray[i][j] = coinCollect;
}
}
return dpArray[coin.length-1][coin[0].length - 1];
}
public static void main(String[] args) {
int[][] coin = {
{0,0,0,0,1,0},
{0,1,0,1,0,0},
{0,0,0,1,0,1},
{0,0,1,0,0,1},
{1,0,0,0,1,0}
}
}
}