Hrbust 囧(输出图像囧)

阅读: 评论:0

Hrbust 囧(输出图像囧)

Hrbust 囧(输出图像囧)

Description

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


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

Input

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

每组数据一个整数 n(1≤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");}}}


本文发布于:2024-02-03 05:09:30,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170690817048861.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像   Hrbust
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23