你要判断用来转移的前一个 dp[i][j-1] 是否为 -1,是 -1 就不能转移 不然的话,如果 (i, j-1) 和当前格子颜色相同,而 dp[i][j-1] + a[i][j] > 0,那么这样会更新你的 dp[i][j],而实际 dp[i][j-1] = -1 代表 (i,j-1) 是不能走到的,也就不能从 (i ,j-1) 走到 (i, j)