House Building HDU - 5538

题意:

有n * m的地方,每个地方都有不同高度的1 * 1的正方形块,相邻块紧密排列,问这些块的表面积是多少?

题解:

对于位置为(i,j)的一个高度为x的块,他的测表面积为4 * x,但是他会遮挡位置为(i-1,j)和(i,j-1)位置的块,被挡住的面积为更小高度者的二倍(因为两个块彼此紧靠,两者都损失这些面积),最后再加上顶面积

代码:

#include<bits/stdc++.h>
#define debug(a,b) printf("%s = %d\n",a,b);
typedef long long ll;
using namespace std;inline int read(){int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();//s=(s<<3)+(s<<1)+(ch^48);return s*w;
}
const int maxn=100;
int a[maxn][maxn];
int main()
{int t;t=read();while(t--){int sum=0;memset(a,0,sizeof(a));int n=read(),m=read();for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){a[i][j]=read(); if(a[i][j])sum++;}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){sum+=a[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;}}} cout<<sum<<endl;}return 0;
}

House Building HDU - 5538相关推荐

  1. 区域赛铜牌专题(一)

    区域赛铜牌专题 题号 题目 知识点 HDU 5532 Almost Sorted Array 贪心,LIS HDU 5533 Dancing Stars on Me HDU 5536 Chip Fac ...

  2. 2017光棍节新生训练赛

    Description There are some students in a class, Can you help teacher find the highest student . Inpu ...

  3. 解题报告 (十) 单调栈

    文章目录 单调栈 解题报告 PKU 2082 Terrible Sets HDU 2430 Beans HDU 4252 A Famous City PKU 2796 Feel Good HDU 34 ...

  4. 2014 ACM/ICPC 北京赛区网络赛解题报告汇总

    首页 算法竞赛» 信息聚合 ONLINE JUDGE 书刊杂志 BLOG» 新闻故事» 招聘信息» 投稿须知 2014 ACM/ICPC 北京赛区网络赛解题报告汇总 九月 21st, 2014 | P ...

  5. HDU 1815, POJ 2749 Building roads(2-sat)

    HDU 1815, POJ 2749 Building roads 题目链接HDU 题目链接POJ 题意: 有n个牛棚, 还有两个中转站S1和S2, S1和S2用一条路连接起来. 为了使得随意牛棚两个 ...

  6. HDU 2818 Building Block

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2818 题意:给定N个blocks,分在N个堆里,然后又P个操作,每次将x所在的堆放在y所在的堆上,或者 ...

  7. hdu 4667 Building Fence 计算几何模板

    1 //大白p263 2 #include <cmath> 3 #include <cstdio> 4 #include <cstring> 5 #include ...

  8. 2018 Spring Team Contest D HDU - 6023、HDU - 6024、HDU - 6025 、HDU - 6027 、HDU - 6029

    HDU - 6023  //编译错误不算罚时 #include<cstdio> #include<cstring> #include<iostream> #incl ...

  9. 【转载】图论 500题——主要为hdu/poj/zoj

    转自--http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...

最新文章

  1. NMSE考试常见问题
  2. java生成验证码实例_Java生成验证码功能实例代码
  3. iOS之深入解析“锁”的底层原理
  4. Android四大组件之——Activity的生命周期(图文详解)
  5. 《剑指offer》第四十三题(从1到n整数中1出现的次数)
  6. 签到 数据库php,php与数据库的连接用法 (签到一)
  7. Sklearn.metrics评估方法
  8. SpringBoot2 整合 XFIRE 服务端和客户端
  9. python去掉html标签_python 去除html标签的几种方法
  10. Android 10 发布
  11. Photos_2017 China MVP Community Connection
  12. “你所知道的word2vec都是错的”:论文和代码天壤之别,是普遍现象了?
  13. Docker的安装和操作(虚拟机+linux系统)
  14. Nginx之4包罗万象 - (虚拟主机)
  15. 系统集成项目管理工程师10《项目干系人管理》
  16. 物联网工程导论 简单整理
  17. 品质qc工程图_QC工程图-(品管)
  18. 尤雨溪对 2022 Web前端生态趋势是这样看的
  19. 怎样在科学计算机上计算反正切,科学计算器使用教程_科学计算器怎么解方程...
  20. 三维模型楼盘展示的功能及优点

热门文章

  1. 地球不是圆的,别让教科书限制了孩子的想象力!
  2. 3部世界顶级宇宙纪录片,献给对宇宙万物充满好奇的你
  3. 男科医生到底有多不正经… | 今日最佳
  4. 史上最黑科技 | 人造肌肉、DNA折叠、柔性外骨骼…
  5. uboot移植9个步骤_不知道具体的新房装修步骤?9个步骤教你吃透装修
  6. git checkout 单个文件_git 如何回退单个文件
  7. micropython安装ros_ROS2与STM32入门教程-microROS的linux版本
  8. mysql rpm 安装后修改路径_mysql rpm包安装后修改数据目录
  9. php的web能力,web 性能的几个概念。
  10. leetcode322. 零钱兑换