Hrbust 囧(输出图像囧)

2023-12-11 11:30
文章标签 输出 图像 hrbust

本文主要是介绍Hrbust 囧(输出图像囧),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Description

DS最近很囧,总是不能把妹子哄开心。所以,邪恶的他也想让你们囧一囧。


他给你一个数字 n让你输出囧字的迭代(详见样例)。

Input

第一行一个整数,代表数据的组数。

每组数据一个整数 n1≤n≤7

Output

每组数据输出一个囧字的图形.

Sample Input
2
1
2
Sample Output
+------+
|      |
| /  \ |
|      |
| +--+ |
| |  | |
| |  | |
+-+--+-+
+--------------+
|              |
|     /  \     |
|    /    \    |
|   /      \   |
|  /        \  |
| /          \ |
|              |
|   +------+   |
|   |      |   |
|   | /  \ |   |
|   |      |   |
|   | +--+ |   |
|   | |  | |   |
|   | |  | |   |
+---+-+--+-+---+
Hint

再友情给个n = 3的样例,请注意囧字的迭代方式。

+------------------------------+
|                              |
|             /  \             |
|            /    \            |
|           /      \           |
|          /        \          |
|         /          \         |
|        /            \        |
|       /              \       |
|      /                \      |
|     /                  \     |
|    /                    \    |
|   /                      \   |
|  /                        \  |
| /                          \ |
|                              |
|       +--------------+       |
|       |              |       |
|       |     /  \     |       |
|       |    /    \    |       |
|       |   /      \   |       |
|       |  /        \  |       |
|       | /          \ |       |
|       |              |       |
|       |   +------+   |       |
|       |   |      |   |       |
|       |   | /  \ |   |       |
|       |   |      |   |       |
|       |   | +--+ |   |       |
|       |   | |  | |   |       |
|       |   | |  | |   |       |
+-------+---+-+--+-+---+-------+

#include<stdio.h>
#define N (1<<8)*8
char c[8][N][N];
void init()
{int h=8;for(int k=1;k<8;k++){for(int i=1;i<=h;i++)for(int j=1;j<=h;j++)c[k][i][j]=' ';h*=2;}//----第一个囧-----for(int j=1;j<=4;j++)if(j==1) c[1][1][j]=c[1][1][8-j+1]='+';else c[1][1][j]=c[1][1][8-j+1]='-';for(int i=2;i<8;i++)c[1][i][1]=c[1][i][8]='|';c[1][3][3]='/';c[1][3][6]='\\';c[1][5][3]=c[1][5][6]='+';c[1][5][4]=c[1][5][5]='-';for(int i=6;i<8;i++)c[1][i][3]=c[1][i][6]='|';for(int j=1;j<=4;j++)if(j%2) c[1][8][j]=c[1][8][8-j+1]='+';else c[1][8][j]=c[1][8][8-j+1]='-';
}
void set()
{int h=8;for(int k=2;k<=7;k++)//第k个囧{h*=2;for(int j=1;j<=h/2;j++)//第一行if(j==1) c[k][1][j]=c[k][1][h-j+1]='+';else c[k][1][j]=c[k][1][h-j+1]='-';for(int i=2;i<h;i++)//第一列和最后一列(除第一行和最后一行)c[k][i][1]=c[k][i][h]='|';for(int t=1;h/2-t>2;t++)//那个八字{c[k][2+t][h/2-t]='/';c[k][2+t][h/2+1+t]='\\';}for(int i=h/2+1;i<=h;i++)//大囧中的多个小囧就是前一个囧的图形for(int j=(1<<k)+1;j<=h-(1<<k);j++)c[k][i][j]=c[k-1][i-h/2][j-(1<<k)];for(int j=1;j<=(1<<k);j++)//最后一行的最两边,中间的是前一个囧的最后一行if(j==1)c[k][h][j]=c[k][h][h-j+1]='+';else c[k][h][j]=c[k][h][h-j+1]='-';}
}
int main()
{init();set();int h,n;while(scanf("%d",&n)>0){h=1<<(n+2);for(int i=1;i<=h;i++){for(int j=1;j<=h;j++)printf("%c",c[n][i][j]);printf("\n");}}}


这篇关于Hrbust 囧(输出图像囧)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/u010372095/article/details/22591649
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/480517

相关文章

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

c/c++的opencv图像金字塔缩放实现

《c/c++的opencv图像金字塔缩放实现》本文主要介绍了c/c++的opencv图像金字塔缩放实现,通过对原始图像进行连续的下采样或上采样操作,生成一系列不同分辨率的图像,具有一定的参考价值,感兴... 目录图像金字塔简介图像下采样 (cv::pyrDown)图像上采样 (cv::pyrUp)C++ O

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

Python+wxPython构建图像编辑器

《Python+wxPython构建图像编辑器》图像编辑应用是学习GUI编程和图像处理的绝佳项目,本教程中,我们将使用wxPython,一个跨平台的PythonGUI工具包,构建一个简单的... 目录引言环境设置创建主窗口加载和显示图像实现绘制工具矩形绘制箭头绘制文字绘制临时绘制处理缩放和旋转缩放旋转保存编

python+OpenCV反投影图像的实现示例详解

《python+OpenCV反投影图像的实现示例详解》:本文主要介绍python+OpenCV反投影图像的实现示例详解,本文通过实例代码图文并茂的形式给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前言二、什么是反投影图像三、反投影图像的概念四、反向投影的工作原理一、利用反向投影backproj

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

OpenCV图像形态学的实现

《OpenCV图像形态学的实现》本文主要介绍了OpenCV图像形态学的实现,包括腐蚀、膨胀、开运算、闭运算、梯度运算、顶帽运算和黑帽运算,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起... 目录一、图像形态学简介二、腐蚀(Erosion)1. 原理2. OpenCV 实现三、膨胀China编程(

python多种数据类型输出为Excel文件

《python多种数据类型输出为Excel文件》本文主要介绍了将Python中的列表、元组、字典和集合等数据类型输出到Excel文件中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一.列表List二.字典dict三.集合set四.元组tuplepython中的列表、元组、字典