【题目描述】(杨子恒大佬)

聪明的YZH又开始搭积木了…… 他用1*1*1的立方体在n*m的平面搭积木,举几个他的杰作:

现在他又搭完了一个完美的杰作,他很好奇这对积木的表面积是多大 。

【输入格式】

第一行:正整数n和m 接下来n行每行m个字符 描述平面内这个位置上积木的个数(0<=每个位置上的积木个数<=9)。

【输出格式】

一个数: 这堆积木的表面积。

【分析】

我们遍历每一个方块,然后将当前的(i,j)方块和(i,j-1),(i,j+1),(i+1,j),(i-1,j)也就是四周的方块进行高度的比较,答案每次加上他们的高度差的绝对值,因为在内部的方块的每两个相邻的方块被算了两次,而边缘的都只算了一次,我们就先再加上边缘的方块的高度,在/2,在加上顶部和底部的方块面积就可以了。

【代码】

 1 #include<bits/stdc++.h>
2
3 using namespace std;
4
5 typedef long long ll;
6
7 int n,m,s1;
8 ll ans;
9 int a[1010][1010];
10
11 int idx(char c){return c-'0';}
12
13 int main()
14 {
15 char c;
16 memset(a,0,sizeof(a));
17 s1=0;
18 scanf("%d%d",&n,&m);
19 c=getchar();
20 for(int i=1;i<=n;i++){
21 for(int j=1;j<=m;j++){
22 c=getchar();
23 a[i][j]=idx(c);
24 if(a[i][j]!=0)s1++;
25 }
26 c=getchar();
27 }
28 for(int i=1;i<=n;i++){
29 for(int j=1;j<=m;j++){
30 ans+=abs(a[i][j]-a[i+1][j])+abs(a[i][j]-a[i-1][j])+abs(a[i][j]-a[i][j+1])+abs(a[i][j]-a[i][j-1]);
31 }
32 }
33 for(int i=1;i<=n;i++)ans+=a[i][1]+a[i][m];
34 for(int i=1;i<=m;i++)ans+=a[1][i]+a[n][i];
35 ans=ans/2+s1*2;
36 printf("%lld\n",ans);
37 return 0;
38 }

聪明的YZH的更多相关文章

  1. BZOJ2429[HAOI2006]聪明的猴子[最小生成树 kruskal]

    2429: [HAOI2006]聪明的猴子 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 896  Solved: 575[Submit][Statu ...

  2. vijos1740 聪明的质监员 (二分、区间求和)

    http://www.rqnoj.cn/problem/657 https://www.vijos.org/p/1740 P1740聪明的质检员 请登录后递交 标签:NOIP提高组2011[显示标签] ...

  3. nyoj 171 聪明的kk

    聪明的kk 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 聪明的“KK”非洲某国展馆的设计灵感源于富有传奇色彩的沙漠中陡然起伏的沙丘,体现出本国不断变换和绚丽多彩的 ...

  4. NOIP2011提高组 聪明的质监员 -SilverN

    题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi .检验矿产的流程是: 1 .给定m 个区间[L ...

  5. 最小生成树 2429: [HAOI2006]聪明的猴子

    BZOJ 2429: [HAOI2006]聪明的猴子 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 877  Solved: 566[Submit][ ...

  6. [原]携程预选赛A题-聪明的猴子-GCD+DP

    题目: 聪明的猴子 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  7. 【解题报告】[动态规划] CodingTrip - 携程编程大赛 (预赛第一场)- 聪明的猴子

    原题: 聪明的猴子 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Problem D ...

  8. 做一个聪明的.net程序员

    最近看了传智播客(http://net.itcast.cn/)的.net培训视频,感受颇深,忍不住要把感受写下来跟网友分享一下. 我从接触.net到现在已经至少过去了三五个年头,用.net也已经做了若 ...

  9. 雷军北大演讲:除了聪明和勤奋我们还需要什么(关键是有了梦想以后,你能不能把这个东西付诸实践)good

    雷军北大演讲:除了聪明和勤奋我们还需要什么 昨天我在乌镇参加了全球互联网峰会,在这个会议上有马云,也有苹果公司的高级副总裁,主持人抛出了一个问题,说雷军你说你有一个目标,要用5到10年的时间做智能手机 ...

随机推荐

  1. 重新整理 .net core 实践篇—————日志系统之结构化[十八]

    前言 什么是结构化呢? 结构化,就是将原本没有规律的东西进行有规律话. 就比如我们学习数据结构,需要学习排序然后又要学习查询,说白了这就是一套,没有排序,谈如何查询是没有意义的,因为查询算法就是根据某 ...

  2. POI导出Excel时下拉列表值超过255的问题(String literals in formulas can't be bigger than 255 characters ASCII)

    //创建Excel工作薄对象 Workbook workbook = new HSSFWorkbook(); //生成一个表格 设置:页签 Sheet sheet = workbook.createS ...

  3. Transformers for Graph Representation

    Do Transformers Really Perform Badfor Graph Representation? microsoft/Graphormer: This is the offici ...

  4. 【模拟7.25】回家(tarjan V-DCC点双连通分量的求法及缩点 求割点)模板题

    作为一道板子题放在第二题令人身心愉悦,不到一个小时码完连对拍都没打. 关于tarjan割点的注意事项: 1.在该板子中我们求的是V-DCC,而不是缩点,V-DCC最少有两个点组成,表示出掉一个块里的任 ...

  5. redhat6版本网卡绑定做bond

    1.编写bond0配置文件 cd /etc/sysconfig/network-scripts(进入网卡配置文件路径) vi ifc-bond0(编辑bond0的配置文件,具体如下) DEVICE=b ...

  6. SpringCloud-OAuth2(三):进阶篇

    上篇文章讲了SpringCloud OAuth 的实战篇,但是在微服务环境下,常常会有一个认证中心. 而普通服务接收到请求后,判断token是否有效并不是自己处理的,因为token的管理统一交给认证中 ...

  7. 透彻详解(3)旁路电容100nF_0.1uF的由来计算

    原文地址点击这里: 前一节我们已经详细解释了旁路电容在数字电路系统中所起的基本且重要作用,即储能与为高频噪声电流提供低阻抗路径,尽管还并未给旁路电容的这些功能概括一个"高大上"的名 ...

  8. .NET Core/.NET5/.NET6 开源项目汇总10:实用工具

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

  9. Vue前端访问控制方案

    1.前端访问控制的常规处理方法   前端访问控制,一般针对界面元素dom element进行可见属性或enable属性进行控制,有权限的,相关元素可见或使能:没权限的,相关元素不可见或失能.这样用户可 ...

  10. QGIS如何打开ArcGIS创建的GDB数据库文件

    引言 QGIS作为一种开源的地理信息处理软件由于其界面友好.渲染速度快.开源免费等特性而获得业内很多人士的青睐,然而在实际的生产和处理过程中,GIS数据往往存储在ArcGIS的文件地理数据库(Geod ...