当前位置: 首页 > news >正文

【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&#xff1a;立体图 【题目描述】 小渊是个聪明的孩子&#xff0c;他经常会给周围的小朋友讲些自己认为有趣的内容。最近&#xff0c;他准备给小朋友讲解立体图&#xff0c;请你帮他画出立体图。 小渊有一块面积为mn的矩形区域&#xff0c;上面有mn个边长为1的格子&#…...

【Leetcode每日一题】 动态规划 - 简单多状态 dp 问题 - 删除并获得点数(难度⭐⭐)(76)

1. 题目解析 题目链接&#xff1a;LCR 091. 粉刷房子 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 1. 状态定义 在解决这类问题时&#xff0c;我们首先需要根据题目的具体要求来定义状态。针对房屋粉刷问题&#…...

Windows---CMD常用指令大全

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

消息中间件是什么?有什么用?常见的消息中间件有哪些?

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

富锂锰基材料极具发展潜力 我国产业化进程加速

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

聚水潭和金蝶云星空单据接口对接

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

OpenAI深夜震撼发布最新模型GPT-4o,送上最快速便捷教程

北京时间5月14日凌晨&#xff0c;有人说OpenAI一夜改变了历史。 在我们的深夜、太平洋时间的上午 10 点&#xff0c;OpenAI 召开春季发布会&#xff0c;公布了最新的GPT-4o模型&#xff0c;o代表Omnimodel&#xff08;全能模型&#xff09;。20多分钟的演示直播&#xff0c;展…...

没有申请域名的情况下,用navicat远程连接我们的服务器的Mysql数据库

我们可以根据公网ip用shell来远程连接 首先我们打开自己买的服务器 例如你看这个&#xff0c;就是我们的公网IP 如果服务器里面没有安装mysql数据库的话&#xff0c;那么我们可以用一个轻量级的docker来安装数据库代替一下 我们用docker弄个轻量级的mysql5.7.36&#xff0c;…...

Hive中小文件过多的几种处理方式

1、使用concatenate&#xff08;只支持RCFile和ORC格式&#xff09; 2、减少map数量&#xff0c;调整参数&#xff1a;输入合并文件相关的参数 3、减少reduce的数量&#xff08;例如直接设置reduce为xx个、或者设置reduce的大小&#xff0c;系统自动根据大小确定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 页面权限&#xff08;菜单项权限&#xff09;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五、格式化并挂载目录 前言 在数据库管理中&#xff0c;常有比较头疼的问题&#xff0c;就是一段时间发展后我的磁盘空间不够了&#xff0c;想要扩容原有的目录很是头疼&#xff0c;那么LVM管理的优势就体现出来了…...

打印kafka最近的消息

使用 kafka-run-class 指令&#xff0c;获取topic的最小offset和最大offset #查看各个分区的最小offset(这个意思就是&#xff0c;这个offset之前的消息已经被清除了&#xff0c;现在consumer是从这个offset之后开始消费): ./kafka-run-class.sh kafka.tools.GetOffsetShell …...

e行64位V11.17.4 安卓全局虚拟定位APP

e行最新版11.17.4 支持全局虚拟位置 小米手机 百度地图 高德地图 实测成功 其他app自测 不一定支持所有app 下载&#xff1a;https://www.123pan.com/s/HAf9-tsyCh.html...

vue项目通过点击文字上传html文件,查看html文件

上传html文件 解决思路&#xff1a;新建一个上传组件&#xff0c;将它挪到页面之外。当点击文字时&#xff0c;手动触发上传组件&#xff0c;打开上传文件框。 <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个设计模式&#xff0c;23个意图 1. 设计模式概要 设计模式的核心在于提供了相关问题的解决方案&#xff0c;使得人们可以更加简单方便的复用成功的设计和体系结构 设计模式的类别 创建型结构型行为型类工厂方法模式适配器模式&#xff08;类&#xff09;解释器模…...

记录一下 log4j的漏洞

目录 背景 bug的产生 bug复现 JNDI 网络安全学习路线 &#xff08;2024最新整理&#xff09; 学习资料的推荐 1.视频教程 2.SRC技术文档&PDF书籍 3.大厂面试题 特别声明&#xff1a; 背景 log4j这次的bug&#xff0c;我相信大家都已经知道了&#xff0c;仅以…...

Springboot-配置文件中敏感信息的加密:三种加密保护方法比较

一. 背景 当我们将项目部署到服务器上时&#xff0c;一般会在jar包的同级目录下加上application.yml配置文件&#xff0c;这样可以在不重新换包的情况下修改配置。 一般会将数据库连接、Redis连接等放到配置文件中。 例如配置数据库连接&#xff1a; spring:servlet:multip…...

linux 性能监控命令之dstat

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

让 AI Agent “睡觉”整理记忆(非常详细),OpenClaw Auto-Dream 实战从入门到精通,收藏这一篇就够了!

你有没有遇到过这样的情况&#xff1a;辛辛苦苦教会了 AI Agent 你的工作习惯和项目背景&#xff0c;关掉窗口、重启会话后&#xff0c;它又变回了一张白纸&#xff1f;这是当前所有基于 LLM&#xff08;大语言模型&#xff09;的 Agent 面临的核心痛点——“聊完就忘”。2026 …...

Kratos 的config.proto 修改后 windows 下重新生成

protoc --proto_path. --proto_path./third_party --go_outpathssource_relative:. internal/conf/conf.proto...

为什么极限不是总存在的?

并不总是存在&#xff0c;是因为“趋近”的过程必须满足非常严苛的条件&#xff1a;唯一性和确定性。如果函数在趋近某个点时的表现变得“混乱”或“不一致”&#xff0c;极限就会失效。如果函数在趋近某个点时的表现变得“混乱”或“不一致”&#xff0c;极限就会失效。以下是…...

5分钟成为Switch游戏安装专家:Awoo Installer终极指南

5分钟成为Switch游戏安装专家&#xff1a;Awoo Installer终极指南 【免费下载链接】Awoo-Installer A No-Bullshit NSP, NSZ, XCI, and XCZ Installer for Nintendo Switch 项目地址: https://gitcode.com/gh_mirrors/aw/Awoo-Installer 还在为Switch游戏安装而烦恼吗&a…...

3个实战技巧:彻底解锁Cursor Pro功能的高效完整指南

3个实战技巧&#xff1a;彻底解锁Cursor Pro功能的高效完整指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial…...

5个核心操作完成HMCL启动器数据无缝迁移:告别重装烦恼

5个核心操作完成HMCL启动器数据无缝迁移&#xff1a;告别重装烦恼 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL 当你的Minecraft世界从一个设备转移到另一个设…...

移动设备上实现实时人物移除的终极优化指南

移动设备上实现实时人物移除的终极优化指南 【免费下载链接】Real-Time-Person-Removal Removing people from complex backgrounds in real time using TensorFlow.js in the web browser 项目地址: https://gitcode.com/gh_mirrors/re/Real-Time-Person-Removal Real-…...

wan2.1-vae开源模型价值:免授权商用+自主可控+私有化部署保障

wan2.1-vae开源模型价值&#xff1a;免授权商用自主可控私有化部署保障 1. 为什么选择wan2.1-vae开源模型 在当今AI图像生成领域&#xff0c;商业使用往往面临授权费用高、数据隐私风险等问题。wan2.1-vae作为基于Qwen-Image-2512模型的开源解决方案&#xff0c;提供了三大核…...

避开PLC烧毁陷阱:FX3S晶体管输出必须知道的7个细节(含虚设电阻计算)

避开PLC烧毁陷阱&#xff1a;FX3S晶体管输出必须知道的7个细节&#xff08;含虚设电阻计算&#xff09; 在工业自动化现场&#xff0c;FX3S系列PLC的晶体管输出模块烧毁问题堪称"隐形杀手"。去年某汽车生产线因一个0.5A保险丝选型错误导致全线停产8小时&#xff0c;损…...

实战演练:将idea ai插件的灵感在快马平台转化为可部署的全栈博客管理系统

今天想和大家分享一个实战经验&#xff1a;如何把IDEA AI插件产生的灵感快速转化为一个可部署的全栈博客管理系统。整个过程在InsCode(快马)平台上完成&#xff0c;从构思到上线只用了不到一小时&#xff0c;特别适合想要快速验证想法的开发者。 从IDEA插件到完整项目 平时用…...