写一下思路:
类似于动态规划从左上角走到左下角思路:建一张dp表,a中存每个位置的立方体的个数,dp[i][j]表示在i j位置上加入a[i][j]之后带来的面数的增加量,从左往右,从上往下遍历的话,更新dp[i][j]只用看左边和上边有没有立方体。如果a[i][j] = 0, d[i][j]=0, 如果不等于0,那么增加的面就是不考虑遮挡的面数目减去左边和上面遮挡面的两倍。将dp表里面的所有数求和就是总了