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

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

Input

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

每组数据一个整数 n(1≤n≤7)

Output

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

Sample Input

2
1
2

Sample Output

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

Hint

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

+------------------------------+

|                              |

|             /  \             |

|            /    \            |

|           /      \           |

|          /        \          |

|         /          \         |

|        /            \        |

|       /              \       |

|      /                \      |

|     /                  \     |

|    /                    \    |

|   /                      \   |

|  /                        \  |

| /                          \ |

|                              |

|       +--------------+       |

|       |              |       |

|       |     /  \     |       |

|       |    /    \    |       |

|       |   /      \   |       |

|       |  /        \  |       |

|       | /          \ |       |

|       |              |       |

|       |   +------+   |       |

|       |   |      |   |       |

|       |   | /  \ |   |       |

|       |   |      |   |       |

|       |   | +--+ |   |       |

|       |   | |  | |   |       |

|       |   | |  | |   |       |

+-------+---+-+--+-+---+-------+

考点:分形图(递归)

#include <iostream>
#include <stdio.h>
#include <string.h>using namespace std;const int mapsize = 1000;void draw(const int n, char map[][mapsize], const int r, const int c){int size = (1 << (n + 2));map[r][c] = map[r + size - 1][c + size - 1] = map[r][c + size - 1] = map[r + size - 1][c] = '+';for (int i = 1; i < size - 1; i++) {map[r][c + i] = map[r + size - 1][c + i] = '-';map[r + i][c] = map[r + i][c + size - 1] = '|';}if (n == 0) return;for (int i = 2; i < size / 2 - 1; i++) {map[r + i][c + size / 2 - i] = '/';map[r + i][c + size / 2 + i - 1] = '\\';}draw(n - 1, map, r + size / 2, c + size / 4);  //递归下一层
}int main(){int T;cin >> T;while (T--){int n;static char map[mapsize][mapsize];cin >> n;memset(map, ' ', sizeof(map)); //因大面积区域无字符,所以初始化为空格draw(n, map, 0, 0);int size = (1 << (n + 2));for (int i = 0; i < size; i++) {for (int j = 0; j < size; j++) putchar(map[i][j]);putchar(10); //换行键}}return 0;
}

HRBUST - 2085.囧(递归)相关推荐

  1. 分形递归打印 hrbust 2291

    1.链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2291 2.解法:递归调用 ...

  2. python编写一个程序、实现文件的复制_写个python 脚本实现文件的递归拷贝

    <派森>(Python)3.13 win32 英文安装版 类型:编程工具大小:21M语言:英文 评分:8.7 标签: 立即下载 今天翻电脑时突然发现有个存了很多照片和视频的文件夹,想起来是 ...

  3. LOJ 2085: 洛谷 P1587: bzoj 4652: 「NOI2016」循环之美

    题目传送门:LOJ #2085. 两个月之前做的傻题,还是有必要补一下博客. 题意简述: 求分子为不超过 \(n\) 的正整数,分母为不超过 \(m\) 的正整数的所有互不相等的分数中,有多少在 \( ...

  4. POJ 1694 An Old Stone Game ★(排序+树+递归)

    题解转自:http://blog.sina.com.cn/s/blog_7c060f190100r4cr.html 自己不想再写了--囧--   题意:以树作为载体,模拟一个游戏.大致规则就是在叶节点 ...

  5. 自写 zTree搜索功能 -- 关键字查询 -- 递归无限层

    2019独角兽企业重金招聘Python工程师标准>>> 一般搜索功能只是在"既定范围内(方便称呼)"匹配关键字,"既定范围"即我们已经知道搜索 ...

  6. hrbust 哈理工oj 1418 夏夜星空【带权并查集】

    夏夜星空 Time Limit: 1000 MS Memory Limit: 65536 K Total Submit: 43(20 users) Total Accepted: 19(18 user ...

  7. 算法设计思想(5)— 递归法

    1. 递归概念 递归 Recursion是指在函数的定义中使用函数自身的方法,直观上来看,就是某个函数自己调用自己. ​ 递归有两层含义: 递归问题必须可以分解为若干个规模较小.与原问题形式相同的子问 ...

  8. 判断某数组是不是二叉树的后序遍历序列 python递归与非递归解法

    python 递归 class Solution:def VerifySquenceOfBST(self, sequence):# write code hereif len(sequence) &l ...

  9. 翻转二叉树 c语言实现 递归 栈 队列

    前言 题目比较好理解,就是翻转二叉树 代码 c语言实现 #include<stdio.h> #include<stdlib.h> #include<string.h> ...

最新文章

  1. 关于yarn的一些心得
  2. 【英语学习】【WOTD】cerebral 释义/词源/示例
  3. 国家图书馆关于php的书,国家图书馆啊,能借的书太少
  4. .NET/C# 使用Stopwatch测量运行时间
  5. [つづく]MySTL
  6. 医疗搜索中的query词权重算法探索
  7. nexus3 测试操作
  8. 网课题库接口教程(免费)
  9. 桌面共享工具(可以实现RTMP直播、K歌、投屏等功能)
  10. Hermite(埃尔米特)插值法 | 插值多项式+ 插值余项
  11. 清算号和联行号有区别吗?区别是什么?
  12. 人工智能AI对客户服务的影响正在形成
  13. 计算机飞行模式无法关闭,Win10开启飞行模式之后无法关闭退出怎么解决
  14. python基础ppt_Python入门之你必须了解的基础知识
  15. Helio Protocol — 分布式代币借贷和流动性质押协议
  16. HI,Bing,近期数字安全领域有什么热点事件?
  17. 联想笔记本电脑昭阳k2450关机这个灯一直闪烁,而且还消耗电量
  18. 展望下未来的计算机400字,展望未来作文400字(精选8篇)
  19. linux pyinstaller打包python文件
  20. 下一代 IDE 工具 JetBrains Fleet 正式公测

热门文章

  1. vue中自适应rem的设置及vant组件库px自动修改为相对大小的方法两则(postcss-pxtorem和postcss-px-to-viewport)
  2. C语言主编李念,李念远大前程剧照走红 自曝为角色爱上旗袍与国粹
  3. Analyzing and Leveraging Decoupled L1 Caches in GPUs
  4. 淘宝客 PK 直通车 ,孰更胜一筹?
  5. 【深度学习工作站】攒机
  6. 排列三带坐标走连线图_排列三带坐标连线专业版
  7. 信息安全管理与评估知识概括
  8. 英雄体育VSPN冲刺港股:9个月营收超13亿 腾讯是股东
  9. 小米手机安装 charles 证书 windows10
  10. SQL server 数据库 修改字段类型