【NOIP2008普及组复赛】 题4:立体图
题4:立体图
【题目描述】
小渊是个聪明的孩子,他经常会给周围的小朋友讲些自己认为有趣的内容。最近,他准备给小朋友讲解立体图,请你帮他画出立体图。
小渊有一块面积为mn的矩形区域,上面有mn个边长为1的格子,每个格子上堆了一些同样大小的积木(积木的长宽高都是1),小渊想请你打印出这些格子的立体图。我们定义每个积木为如下格式,并且不会做任何翻转旋转,只会严格以一种形式摆放。
每个顶点用1个加号"+“表示,长用3个”-“表示,宽用1个”/“表示,高用两个”|“表示。符号”+“,”-“,”/“,”|“的ASCII码分别是43,45,47,124。字符”.“(ASCII码46)需要作为背景输出,即立体图中的空白部分需要用”."来代替。立体图的画法如下面的规则:
若两块积木左右相邻,图示为:
若两块积木上下相邻,图示为:
若两块积木前后相邻,图示为:
立体图中,定义位于第(m,1)的格子(即第m行第1列的格子)上面的自底向上的第一块积木(即最下面的一块积木)的左下角顶点为整张图最左下角的点。
【输入文件】
第一行有用空格隔开的2个整数m和n,表示有m*n个格子(1<=m,n<=50)。
接下来的m行,是一个m*n的矩阵,每行有n个用空格隔开的整数,其中第i行第j列上的整数表示第i行第j列的格子上摞有多少个积木(1<=每个格子上的积木数<=100)。
【输出文件】
包含题目要求的立体图,是一个K行L列的字符矩阵,其中K和L表示最少需要K行L列才能按规定输出立体图。
【输入样例1】
3 4
2 2 1 2
2 2 1 1
3 2 1 2
【输出样例1】
【代码如下】:
#include <bits/stdc++.h>
using namespace std;
char s[600][600];
void hua(int y, int x) {s[y][x] = '+';s[y][x + 1] = '-';s[y][x + 2] = '-';s[y][x + 3] = '-';s[y][x + 4] = '+';s[y + 1][x] = '|';s[y + 1][x + 1] = ' ';s[y + 1][x + 2] = ' ';s[y + 1][x + 3] = ' ';s[y + 1][x + 4] = '|';s[y + 1][x + 5] = '/';s[y + 2][x] = '|';s[y + 2][x + 1] = ' ';s[y + 2][x + 2] = ' ';s[y + 2][x + 3] = ' ';s[y + 2][x + 4] = '|';s[y + 2][x + 5] = ' ';s[y + 2][x + 6] = '+';s[y + 3][x] = '+';s[y + 3][x + 1] = '-';s[y + 3][x + 2] = '-';s[y + 3][x + 3] = '-';s[y + 3][x + 4] = '+';s[y + 3][x + 5] = ' ';s[y + 3][x + 6] = '|';s[y + 4][x + 1] = '/';s[y + 4][x + 2] = ' ';s[y + 4][x + 3] = ' ';s[y + 4][x + 4] = ' ';s[y + 4][x + 5] = '/';s[y + 4][x + 6] = '|';s[y + 5][x + 2] = '+';s[y + 5][x + 3] = '-';s[y + 5][x + 4] = '-';s[y + 5][x + 5] = '-';s[y + 5][x + 6] = '+';
}
int main(int argc, char *argv[]) {int a[55][55];int x1, y1, t, x, y;int i, j, k;int m, n;cin >> m >> n;x1 = 4 * n + 2 * m + 1;y1 = 0;for (i = 0; i < m; i++)for (j = 0; j < n; j++) {cin >> a[i][j];t = 3 * a[i][j] + 2 * (m - i) + 1;if (t > y1) y1 = t;}for (i = 0; i < y1; i++)for (j = 0; j < x1; j++) s[i][j] = '.';for (i = 0; i < m; i++)for (j = 0; j < n; j++)for (k = 0; k < a[i][j]; k++) {x = 2 * (m - i - 1) + 4 * j;y = 2 * (m - i - 1) + 3 * k;hua(y, x);}for (i = y1 - 1; i >= 0; i--) {for (j = 0; j < x1; j++) cout << s[i][j];if (i > 0) {cout << endl;}}return 0;
}
相关文章:

【NOIP2008普及组复赛】 题4:立体图
题4:立体图 【题目描述】 小渊是个聪明的孩子,他经常会给周围的小朋友讲些自己认为有趣的内容。最近,他准备给小朋友讲解立体图,请你帮他画出立体图。 小渊有一块面积为mn的矩形区域,上面有mn个边长为1的格子&#…...

【Leetcode每日一题】 动态规划 - 简单多状态 dp 问题 - 删除并获得点数(难度⭐⭐)(76)
1. 题目解析 题目链接:LCR 091. 粉刷房子 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 1. 状态定义 在解决这类问题时,我们首先需要根据题目的具体要求来定义状态。针对房屋粉刷问题&#…...

Windows---CMD常用指令大全
CMD是什么? Windows操作系统中的命令行界面程序,全称为命令提示符 CMD可以干什么? 允许用户在文本界面下输入命令来执行各种操作,如文件管理、系统设置、软件安装等 帮助用户更好地控制和管理Windows系统 windows系统CMD指…...

消息中间件是什么?有什么用?常见的消息中间件有哪些?
1.什么是消息中间件? 消息中间件基于队列模型在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统。 2.现实中的痛点: 1.Http请求基于请求与响应的模型,在高并发的情况下,客户端发送大量的请求达到服务器端…...

富锂锰基材料极具发展潜力 我国产业化进程加速
富锂锰基材料极具发展潜力 我国产业化进程加速 富锂锰基材料以锰元素为主,我国锰资源较丰富,相比于铁锂材料、高镍三元材料,富锂锰基材料具有一定的降本潜力。此外富锂锰基材料在能量密度、充放电倍率等方面也具有明显优势。富锂锰基材料是富…...

聚水潭和金蝶云星空单据接口对接
聚水潭和金蝶云星空单据接口对接 对接系统:金蝶云星空 金蝶K/3Cloud(金蝶云星空)是移动互联网时代的新型ERP,是基于WEB2.0与云技术的新时代企业管理服务平台。金蝶K/3Cloud围绕着“生态、人人、体验”,旨在帮助企业打造…...

OpenAI深夜震撼发布最新模型GPT-4o,送上最快速便捷教程
北京时间5月14日凌晨,有人说OpenAI一夜改变了历史。 在我们的深夜、太平洋时间的上午 10 点,OpenAI 召开春季发布会,公布了最新的GPT-4o模型,o代表Omnimodel(全能模型)。20多分钟的演示直播,展…...

没有申请域名的情况下,用navicat远程连接我们的服务器的Mysql数据库
我们可以根据公网ip用shell来远程连接 首先我们打开自己买的服务器 例如你看这个,就是我们的公网IP 如果服务器里面没有安装mysql数据库的话,那么我们可以用一个轻量级的docker来安装数据库代替一下 我们用docker弄个轻量级的mysql5.7.36,…...
Hive中小文件过多的几种处理方式
1、使用concatenate(只支持RCFile和ORC格式) 2、减少map数量,调整参数:输入合并文件相关的参数 3、减少reduce的数量(例如直接设置reduce为xx个、或者设置reduce的大小,系统自动根据大小确定reduce的个数…...

用户登录认证和权限授权(SpringSecurity、JWT、session)
文章目录 前言一、登录认证1. 问题引入2. Session2.1 实现原理2.2 过滤器Filter2.3 上下文对象 3. JWT3.2 实现步骤3.3 拦截器 HandlerInterceptorAdapter3.4 上下文对象 4. Session VS JWT 二、权限授权1. 权限类型1.1 页面权限(菜单项权限)1.2 ACL模型…...

第十二届蓝桥杯省赛真题 Java A 组【原卷】
文章目录 发现宝藏【考生须知】试题 A: 相乘试题 B: 直线试题 C : \mathrm{C}: C: 货物摆放试题 D: 路径试题 E: 回路计数试题 F : \mathrm{F}: F: 最少砝码试题 G: 左孩子右兄弟试题 H : \mathrm{H}: H: 异或数列试题 I \mathbf{I} I 双向排序试题 J : \mathrm{J}: J: 分…...
工作随机:linux 挂载LVM管理模式的磁盘
文章目录 前言一、创建一个分区二、创建PV三、创建VG四、创建LV五、格式化并挂载目录 前言 在数据库管理中,常有比较头疼的问题,就是一段时间发展后我的磁盘空间不够了,想要扩容原有的目录很是头疼,那么LVM管理的优势就体现出来了…...
打印kafka最近的消息
使用 kafka-run-class 指令,获取topic的最小offset和最大offset #查看各个分区的最小offset(这个意思就是,这个offset之前的消息已经被清除了,现在consumer是从这个offset之后开始消费): ./kafka-run-class.sh kafka.tools.GetOffsetShell …...

e行64位V11.17.4 安卓全局虚拟定位APP
e行最新版11.17.4 支持全局虚拟位置 小米手机 百度地图 高德地图 实测成功 其他app自测 不一定支持所有app 下载:https://www.123pan.com/s/HAf9-tsyCh.html...
vue项目通过点击文字上传html文件,查看html文件
上传html文件 解决思路:新建一个上传组件,将它挪到页面之外。当点击文字时,手动触发上传组件,打开上传文件框。 <template><BasicTable register"registerTable"><template #bodyCell"{ column, …...

【WEEK12】 【DAY1】整合JDBC【中文版】
2024.5.13 Monday 目录 11.整合JDBC11.1.SpringData简介11.2.新建springboot-04-data项目11.3.新建application.yaml11.4.连接数据库11.5.修改Springboot04DataApplicationTests.java11.5.1.查看DataSourceProperties.java和DataSourceAutoConfiguration.java 11.6.JDBCTempla…...
23种设计模式(软考中级 软件设计师)
设计模式 23个设计模式,23个意图 1. 设计模式概要 设计模式的核心在于提供了相关问题的解决方案,使得人们可以更加简单方便的复用成功的设计和体系结构 设计模式的类别 创建型结构型行为型类工厂方法模式适配器模式(类)解释器模…...

记录一下 log4j的漏洞
目录 背景 bug的产生 bug复现 JNDI 网络安全学习路线 (2024最新整理) 学习资料的推荐 1.视频教程 2.SRC技术文档&PDF书籍 3.大厂面试题 特别声明: 背景 log4j这次的bug,我相信大家都已经知道了,仅以…...
Springboot-配置文件中敏感信息的加密:三种加密保护方法比较
一. 背景 当我们将项目部署到服务器上时,一般会在jar包的同级目录下加上application.yml配置文件,这样可以在不重新换包的情况下修改配置。 一般会将数据库连接、Redis连接等放到配置文件中。 例如配置数据库连接: spring:servlet:multip…...

linux 性能监控命令之dstat
1. dstat 系统默认为安装,直接安装阿里源后,yum install -y dstat安装即可,该命令整合了 vmstat , iostat 和 ifstat,我们先看下效果: 我们先看看具体参数: [rootk8s-master ~]# dstat --help …...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...