将长N*M厘米的矩形区域划分成N行M列(每行每列的宽度均为1厘米),在第i行第j列的位置上叠放Ai,j个边长为1厘米的正方体,所有正方体就组成了一个立体图形,每个正方体六个面中的一部分会被其他正方体遮挡,未被遮挡的部分的总面积为该立体图形的表面积,那么该立方体图形的表面积是多少平方厘米?

输入要求:

第一行包含两个正整数N和M。接下来N行,每行包含M个整数,第i行的第j个整数表示Ai,j。

样例:

输入:

2 3

2 1 1

1 1 1

输出:

26

C程序:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

#define min_yu(x,y) (x)<(y)?(x):(y)
int main(void)
{
    int N=0,M=0,flag=0;
    char c;

int **A;
    int i,j,sum=0;

while(1)
   {
        scanf("%d",&N);//行
        scanf("%d",&M);//列
        c=getchar();
        if(c=='\n')
        {
            break;
        }
   }
   A=(int **)malloc(sizeof(int *)*N);
   for(i=0;i<N;i++)
   {
       A[i]=(int *)malloc(sizeof(int)*M);
   }
   for(i=0;i<N;i++)
    {
        for(j=0;j<M;j++)
        {
            A[i][j]=1;
        }
   }

for(i=0;i<N;i++)
    {
        for(j=0;j<M;j++)
        {
            scanf("%d",&A[i][j]);//记录二维数组
        }
   }
    for(i=0;i<N;i++)//求表面积
    {
        for(j=0;j<M;j++)
        {
            sum+=A[i][j]*6-2*(A[i][j]-1);
            if((i-1)>=0)
            {
                sum-=min_yu(A[i-1][j],A[i][j]);
                
            }
            if((j-1)>=0)
            {
                sum-=min_yu(A[i][j-1],A[i][j]);
            }
            if((j+1)<M)
            {
                sum-=min_yu(A[i][j+1],A[i][j]);
            }
            if((i+1)<N)
            {
                sum-=min_yu(A[i+1][j],A[i][j]);
            }
        }
    }
    printf("%d\n",sum);//输出结果
    system("pause");
    return 0;
}

多个正方体叠加所得立体图形的表面积相关推荐

  1. html如何制作正方体手工图,立体图形手工模型(怎样用卡纸制作正方体、长方体)...

    要做手工,用立体图形做,求设计图 立体纸杯小台灯 所需材料:纸杯,用完的笔,饮料盖,胶枪,剪刀,棉布,花边,白乳胶 具体步骤: 按准备材料,纸杯,饮料盖,用完的笔,棉布,花边 把布在纸杯上围一圈,剪出 ...

  2. java源码——计算立体图形的表面积和体积

    计算球,圆柱,圆锥的表面积和体积. 利用接口实现. 上代码. Contants.java 常量存储类 package com.fuxuemingzhu.solidgraphics.contants;/ ...

  3. 立体图形3D动画和绘制

    做了一个关于立体图形3D动画和绘制图形的例子,效果如下: 这个是参照苹果官方文档和例子来写的,其中茶壶是根据点.颜色渲染.网格结构和灯光效果来绘制出来的. 再说实现步骤前我们需要了解一下概念: GLK ...

  4. Android开发 之 OpenGL ES系列(5--3D立体图形)

    OpenGL ES系列(5--3D立体图形) 转自:http://www.guidebee.info/wordpress/archives/1554 前面的例子尽管使用了OpenGL ES 3D图形库 ...

  5. 移动Web 第二天# 空间位移和立体图形的基本知识

    theme: cyanosis highlight: a11y-light 移动 移动Web第二天-空间转换 空间转换 目标:使用transform属性实现元素在空间内的位移,旋转,缩放效果 空间:是 ...

  6. java 圆类 圆锥类_以圆类 Circle 及立体图形类 Solid 为基础设计圆锥类 Cone

    学习内容:以圆类 Circle 及立体图形类 Solid 为基础设计圆锥类 Cone 代码示例: import java.util.Scanner; class Point4{ private dou ...

  7. 利用PCL库做简单的三维立体图形

    利用PCL库画简单的三维立体图形需要知道各种图形的参数方程,然后给每个参数赋值便可以. 圆柱面的参数方程为:x = R*cos(θ); y = R*sin(θ); z = z;其中 θ范围是[-2*P ...

  8. java 图形_java 画立体图形

    参数: xPoints - x 坐标数组. yPoints - y 坐标数组. nPoints - 点的总数. 下面是我的demo程序: import java.awt.Color; import j ...

  9. Java实验项目三——平面图形和立体图形抽象类

    Program:按照下面要求完成类的设计 (1)设计一个平面图形抽象类和一个立体图形抽象类,提供该类对象公共的方法和属性. (2)修改项目三中第2题中所设计的球类.圆柱类,圆锥类.矩形类.三角形类.圆 ...

最新文章

  1. 【转】Android Recovery模式
  2. Python——pyiso8601
  3. java命令查看jvm内存
  4. html 整个页面变灰
  5. 优点 spark_spark(一)
  6. wtl单文档选项_Vite 中文文档翻译
  7. php四则运算出题器_php实现简单四则运算器
  8. Linux运行级别介绍和root忘记密码找回方法
  9. 做报表的朋友偷偷告诉我月薪5w的秘密:让报表动起来
  10. 智能优化算法(源码)-生物地理学算法(Biogeography-Based Optimization,BBO)
  11. Filter 敏感词汇过滤案例
  12. 2020-11-02-Ubuntu 20.04安装Anaconda3-卸载Anaconda3-笔记
  13. 在word中选择所有匹配查找内容的文档内容
  14. 如何在PowerPoint中更改整个演示文稿的格式
  15. 16张图带你由微信大数据看中国人的国庆长假
  16. 获取“今日头条”西瓜视频
  17. 如何在 Unity3D 制作一杯水 LiquidVolume插件 水杯 烧瓶液体
  18. ES迁移到OpenSearch
  19. 很实用的JS使浏览器进入全屏
  20. omnet结果分析anf文件

热门文章

  1. startx 及xinit 介绍(经典)
  2. 河北省对口升学计算机专业学校,河北省对口升学计算机专业试题详解
  3. 手机APP如何访问局域网服务器
  4. Docker Windows桌面版安装 Windows家庭版伪装成专业版系统
  5. 浙江大学计算机考研真题及答案,浙江大学计算机考研真题-20210531140358.docx-原创力文档...
  6. 2014年中国95家企业入围世界500强,超日本
  7. vs2013+opencv3.0.0 计算机丢失 opencv_world300d.dll
  8. 用python开发的运维管理系统_python运维开发常用模块(一)psutil
  9. 经济学原理上中国故事2019尔雅满分答案
  10. 【VUE项目】VUE+ElementUI电商后台管理系统