HDOJ5538House Building(计算几何)

Posted myx12345

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDOJ5538House Building(计算几何)相关的知识,希望对你有一定的参考价值。

题意:给定一个n*m的方阵,第i行第j列的高度为a[i][j],问除了下底面之外其余五面的总表面积

n<=50,0<=a[i][j]<=1000

思路:队友写的,抱大腿

考虑当前方格比周围四格高多少即可

 1 #include<cstdio>
 2 #include<cstring>
 3 using namespace std;
 4 #define LL long long  
 5 const int maxn=55;
 6 int a[maxn][maxn];
 7 int dx[4]={1,0,-1,0};
 8 int dy[4]={0,1,0,-1};
 9 int main()
10 {
11     int T;
12     scanf("%d",&T);
13     while(T--)
14     {
15         int n,m;
16         memset(a,0,sizeof(a));
17         scanf("%d%d",&n,&m);
18         for(int i=1;i<=n;i++)
19             for(int j=1;j<=m;j++)
20                 scanf("%d",&a[i][j]);
21         int sum=0;
22         for(int i=1;i<=n;i++)
23             for(int j=1;j<=m;j++)
24             {
25                 if(!a[i][j])
26                     continue;
27                 sum++;
28                 for(int k=0;k<4;k++)
29                 {
30                     int x=dx[k]+i;
31                     int y=dy[k]+j;
32                     if(a[x][y]<a[i][j])
33                         sum+=a[i][j]-a[x][y];
34                 }
35             }
36         printf("%d
",sum);
37     }
38 }

 

以上是关于HDOJ5538House Building(计算几何)的主要内容,如果未能解决你的问题,请参考以下文章

HDU-5538 House Building

HDU 5538 House Building 瞎搞

HDU_5538_House Building

hdu 5538 House Building(长春现场赛——水题)

hdu 5538 House Building 矩阵表面积

House Building HDU - 5538