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

聪明的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. FreeSql使用WithSql+ ToSQL 查询数据

    FreeSql是一个支持.NET Core 2.1+..NET Framework 4.0+ 以及 Xamarin的ORM(Object Relational Mapping)对象关系映射的组件 支持 ...

  2. java后端知识点梳理——JVM

    可以先看看我的深入理解java虚拟机笔记 深入理解java虚拟机笔记Chapter2 深入理解java虚拟机笔记Chapter3-垃圾收集器 深入理解java虚拟机笔记Chapter3-内存分配策略 ...

  3. 狂神说redis笔记(二)

    四.三种特殊数据类型 Geospatial(地理位置) 使用经纬度定位地理坐标并用一个有序集合zset保存,所以zset命令也可以使用 geoadd key longitud(经度) latitude ...

  4. 「题解」CF1468M Similar Sets

    本文将同步发布于: 洛谷博客: csdn: 博客园: 简书. 题目 题目链接:洛谷.CF1468M. 题意简述 给定 \(n\) 个集合 \(S_{1\sim n}\),问是否存在 \(i,j\) 满 ...

  5. itools安装程序无法创建临时文件夹

    做个记录: itools链接ios设备后,安装程序包时提示:无法创建临时文件夹 主要原因可能有以下几点 1.手机储存空间不足. 2.驱动组建被删除了,重启管理软件会自动跟新驱动. 解决办法:1.清除空 ...

  6. Windows的静态库与动态库

    Windows的静态库与动态库 1.静态库 1.1 静态库特点 运行不存在 静态库源码被链接到调用程序中 目标程序的归档 1.2 C语言静态库 C静态库的创建 创建一个静态库项目. 添加库程序,源文件 ...

  7. 【题解】P2854 [USACO06DEC]牛的过山车Cow Roller Coaster

    P2854 [USACO06DEC]牛的过山车Cow Roller Coaster 题目描述 The cows are building a roller coaster! They want you ...

  8. NOIP模拟测试18「引子·可爱宝贝精灵·相互再归的鹅妈妈」

    待补 引子 题解 大模拟,注意细节 代码1 #include<bits/stdc++.h> using namespace std; int n,m;char a[1005][1005]; ...

  9. RobotFramework + Python 自动化入门 二 (关键字)

    在<RobotFramwork + Python 自动化入门 一>中,完成了Robot环境搭建及测试脚本的创建和执行. 本节,对RobotFramework的关键字使用和查看源码进行介绍. ...

  10. 三代码使用QScrollArea

    QScrollArea是QT封装好的一个滑动界面类 构造函数如下: 指定一个父对象就行,构造函数提供一个滑动的区域,但是这个区域里是没有内容的,构造函数介绍里面让我们看setWidget()这个函数, ...