正面的能看到的也就是每一列最高的,左边能看到每一行最高的,上面则是看到全部但是答案只计算1(也就是枚举每个元素是否大于0),对每行每列的计算一个max然后累加答案即可
#include <bits/stdc++.h>
using namespace std;
int n,m;
int a[105][105];
int h[105];
“学霸题,数正方体,头顶标数法,三层标上3,二层标上2,一层标上1,全部加起来,你学会了吗”
给定一个矩阵,矩阵中的每个数字表示这个位置上叠放的小正方体数量。
小正方体边长为1。
请问:题目所描述的几何体的三视图(从正面、左面和上方看的投影)各自的面积为多少?
一行两个整数n,m表示矩阵的行数和列数
之后n行每行m个整数ai,j,表示该位留上叠放了ai,j个小正方体。
1≤n,m≤100
0≤ai,j≤100
一行三个整数,依次代表从正面,左面和上方看过去的投影的面积。
输入
2 3
3 3 2
3 2 1
输出
8 6 6
说明
样例1如图所示
从正面看:3×3的面,仅右上角有一个缺口,面积为3×3−1=8
从左面看:3×2的面,面积6
从上面看:2×3的面,面积6
输入
2 2
1 0
2 3
输出
5 4 3
说明