正面的能看到的也就是每一列最高的,左边能看到每一行最高的,上面则是看到全部但是答案只计算1(也就是枚举每个元素是否大于0),对每行每列的计算一个max然后累加答案即可
#include <bits/stdc++.h>
using namespace std;
int n,m;
int a[105][105];
在城市的中心区域,有一个由 n×m 个地块组成的矩形街区。每个地块上建有一座大厦,高度为 hi,j(1≤i≤n, 1≤j≤m)。所有大厦的底面均为单位正方形,且彼此紧贴。
我们站在街区的正南方,向北眺望,看到的是街区的前视图。由于遮挡,每一列中只能看到该列的最高大厦,因此前视图的投影面积等于每一列最高大厦的高度之和。
站在正东方,向西眺望,看到的是街区的侧视图。此时每一行中只能看到该行的最高大厦,因此侧视图的投影面积等于每一行最高大厦的高度之和。
从正上方俯视,能看到所有存在大厦的地块(高度严格大于 0),因此俯视投影面积等于高度大于 0 的地块总数。
给定每个地块的大厦高度,请计算这三种视图的投影面积。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.