链接:Miku

------------------------------

蒟蒻在线%lmk,ljx,lpy,yyq大佬们

------------------------------

Good Night Good luck

---------------------------

这是一道巨大的模拟题,我的做法是创建一块大画布,然后从后往前覆盖即可,具体实现,离不开代码

-----------------------------

#include<iostream>
#include<cstdio>
using namespace std;
int m,n;
char sin[][]={
" +---+",
" / /|",
"+---+ |",
"| | +",
"| |/",
"+---+",
};
char ma[][];
int maxx;
int maxy;
int l[]={,,,,,};
int r[]={,,,,,};
int mapp[][];
void draw(int x,int y){
for(int i=;i>=;--i){//倒序
for(int j=l[i];j<=r[i];j++){//题目有要求,为了避免和正方体内部
// 空格搞混,就采用这种方法
//就是解决左上角那一块
ma[-i+x][j+y]=sin[i][j];//倒着的哦
maxx=max(maxx,x+-i);//算最大值?边画边记
maxy=max(maxy,j+y);
}
}
}
int main(){
scanf("%d%d",&n,&m);
for(int i=;i<=n;++i){
for(int j=;j<m;++j){//由于左下角是0,0,所以从0开始
scanf("%d",&mapp[i][j]);
}
}
for(int i=;i<=n;++i){//行
for(int j=;j<m;++j){//列
for(int k=;k<mapp[i][j];k++){//高度
draw((n-i)*++*k,(n-i)*++*j);
//这里的n-i就相当找到了这一行最左边那一个的左下角
//坐标
//然后根据它的从左到右第几个以及高度修正
}
}
}
for(int i=maxx;i>=;i--){//倒叙输出
for(int j=;j<=maxy;j++){//从左到右倒是不用
if(ma[i][j]=='\0') cout<<".";//只有没画过的才是".”
else{
cout<<ma[i][j];//输出就好
}
}
cout<<endl;
}
return ;
}

Ac

P1058 立体图的更多相关文章

  1. P1058 立体图题解

    小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣的内容.最近,他准备给小朋友们讲解立体图,请你帮他画出立体图. 小渊有一块面积为m \times nm×n的矩形区域,上面有m \times ...

  2. P1058立体图(面对代码解释)

    传送 样例: 输出样例: (洛谷上面的那个太丑了就不放了) 大佬博客在此 乍一看好像真的没有什么思路 所以我们结合ybr大佬的代码进行分析 疑点都将在代码下面进行分析(面对代码做题模式开始) #inc ...

  3. luogu P1058 立体图

    做了这个题后明确了自己的定位... 恩...普及- 题目大意估计都知道.. 给个传送门:   luogu 做了半上午 + 一整个下午的题... 占了我今天到的绝大多数时间. 其实此题不难, 核心代码我 ...

  4. P1058立体图

    一道大模拟 思路: 首先是打表找规律时间 仔细思考(暴力手算)后推出这么一个数组: //宽的增加量 ]={,,,};//1竖着摞,2横着摞,3前后摞 //长的增加量 ]={,,,};//1竖着摞,2横 ...

  5. NOIP 2008 立体图

    洛谷 P1058 立体图 洛谷传送门 JDOJ 1541: [NOIP2008]立体图 T4 JDOJ传送门 题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣的内容.最近,他准备 ...

  6. 模拟画图题P1185 绘制二叉树

      题目链接P1185 绘制二叉树 题意概述   根据规则绘制一棵被删去部分节点的满二叉树.节点用 \(o\) 表示,树枝用/\表示.每一层树枝长度会变化,以满足叶子结点有如下特定: 相邻叶子节点是兄 ...

  7. 2019.7.12 sdfzoier做题统计

    lixf_lixf :9 P1981 表达式求值 P1076 寻宝 P1199 三国游戏 P1308 统计单词数 P1190 接水问题 P1158 导弹拦截 P1070 道路游戏 P1069 细胞分裂 ...

  8. 【洛谷p1058】立体图(已完结)

    立体图[题目链接] 然后因为有点(不是有点,非常)懵,因此我只能看一步写一步. 首先总体思路: 将三维立体图看做二维平面图,先确定出二维图的长和宽,然后,按照三维立体图的透视顺序,从最后一排的最左开始 ...

  9. Matlab 绘制三维立体图(以地质异常体为例)

    前言:在地球物理勘探,流体空间分布等多种场景中,定位空间点P(x,y,x)的物理属性值Q,并绘制三维空间分布图,对我们洞察空间场景有十分重要的意义. 1. 三维立体图的基本要件: 全空间网格化 网格节 ...

随机推荐

  1. CSS-02-css的三种基础选择器

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. ReactNative---组件种类

  3. HDU-5902-GCD is Funny解题笔记

    Alex has invented a new game for fun. There are n integers at a board and he performs the following ...

  4. static静态变量在c++类中的应用实例

    这个static 如果写在类中,那么就可以得到一个局部的静态变量,也就是说可以实现在类内保存某个特殊值不随函数释放而消失的作用.应用中由于赋初值的位置不对而报错,错误提示为:“无法解析外部符号 ... ...

  5. 在Anaconda3下安装(CPU版)TensorFlow(清华镜像源)

    1.打开Anaconda Prompt 2.搭建TensorFlow的环境: conda config --add channels https://mirrors.tuna.tsinghua.edu ...

  6. kettle安装部署基本操作及实操文档

    一.kettle是什么? Kettle,简称ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),是一款国外开源的ETL工具,纯Java编写,可以在Window. ...

  7. Plant Simulation打包与分享

    作者:iJonas 本人原创,转载说明出处. 公众号:仿真社区Plant Simulation 关注知乎专栏:iJonas 目录 简介 使用方法 注意 1.简介 很多情况下,我们需要把模型发送给客户. ...

  8. CVE-2020-3110、CVE-2020-3111、CVE-2020 -3118、CVE-2020-3119、CVE-2020-3120 cdpwn 解析

    CVE-2020-3110.CVE-2020-3111.CVE-2020 -3118.CVE-2020-3119.CVE-2020-3120 cdpwn 解析 攻击条件 在同一广播域,黑客即可通过cd ...

  9. django 发布会签到系统web开发

    引言 最近学习了虫师的发布会签到系统demo,结合自己所学django知识,对demo重新塑造了一下.也是为了练练手,巩固知识.现在就分享一下成果~ Django工作流 学习django web开发, ...

  10. python3 控制结构知识及范例

    (一)三种基本控制结构 1.顺序结构:按照程序语句编写的顺序依次逐条执行 2.选择结构:根据特定的条件选择某一个分支 3.循环结构:反复执行某个或者某些操作,关注点:在什么情况下,反复执行哪一部分的操 ...