高端 建站,软件开发工具有哪些功能,青岛找网站建设公司哪家好,建立自己的网站平台House Building HDU - 5538
题意#xff1a;
有n * m的地方#xff0c;每个地方都有不同高度的1 * 1的正方形块#xff0c;相邻块紧密排列#xff0c;问这些块的表面积是多少#xff1f;
题解#xff1a;
对于位置为(i,j)的一个高度为x的块#xff0c;他的测表面积为…House Building HDU - 5538
题意
有n * m的地方每个地方都有不同高度的1 * 1的正方形块相邻块紧密排列问这些块的表面积是多少
题解
对于位置为(i,j)的一个高度为x的块他的测表面积为4 * x但是他会遮挡位置为(i-1,j)和(i,j-1)位置的块被挡住的面积为更小高度者的二倍(因为两个块彼此紧靠两者都损失这些面积)最后再加上顶面积
代码
#includebits/stdc.h
#define debug(a,b) printf(%s %d\n,a,b);
typedef long long ll;
using namespace std;inline int read(){int s0,w1;char chgetchar();while(ch0||ch9){if(ch-)w-1;chgetchar();}while(ch0ch9) ss*10ch-0,chgetchar();//s(s3)(s1)(ch^48);return s*w;
}
const int maxn100;
int a[maxn][maxn];
int main()
{int t;tread();while(t--){int sum0;memset(a,0,sizeof(a));int nread(),mread();for(int i1;in;i){for(int j1;jm;j){a[i][j]read(); if(a[i][j])sum;}}for(int i1;in;i){for(int j1;jm;j){suma[i][j]*4;if(a[i-1][j])//前面 {sum-min(a[i-1][j],a[i][j])*2;}if(a[i][j-1]){sum-min(a[i][j-1],a[i][j])*2;}}} coutsumendl;}return 0;
}