HRBUST - 2085.囧(递归)
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.囧(递归)相关推荐
- 分形递归打印 hrbust 2291
1.链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2291 2.解法:递归调用 ...
- python编写一个程序、实现文件的复制_写个python 脚本实现文件的递归拷贝
<派森>(Python)3.13 win32 英文安装版 类型:编程工具大小:21M语言:英文 评分:8.7 标签: 立即下载 今天翻电脑时突然发现有个存了很多照片和视频的文件夹,想起来是 ...
- LOJ 2085: 洛谷 P1587: bzoj 4652: 「NOI2016」循环之美
题目传送门:LOJ #2085. 两个月之前做的傻题,还是有必要补一下博客. 题意简述: 求分子为不超过 \(n\) 的正整数,分母为不超过 \(m\) 的正整数的所有互不相等的分数中,有多少在 \( ...
- POJ 1694 An Old Stone Game ★(排序+树+递归)
题解转自:http://blog.sina.com.cn/s/blog_7c060f190100r4cr.html 自己不想再写了--囧-- 题意:以树作为载体,模拟一个游戏.大致规则就是在叶节点 ...
- 自写 zTree搜索功能 -- 关键字查询 -- 递归无限层
2019独角兽企业重金招聘Python工程师标准>>> 一般搜索功能只是在"既定范围内(方便称呼)"匹配关键字,"既定范围"即我们已经知道搜索 ...
- hrbust 哈理工oj 1418 夏夜星空【带权并查集】
夏夜星空 Time Limit: 1000 MS Memory Limit: 65536 K Total Submit: 43(20 users) Total Accepted: 19(18 user ...
- 算法设计思想(5)— 递归法
1. 递归概念 递归 Recursion是指在函数的定义中使用函数自身的方法,直观上来看,就是某个函数自己调用自己. 递归有两层含义: 递归问题必须可以分解为若干个规模较小.与原问题形式相同的子问 ...
- 判断某数组是不是二叉树的后序遍历序列 python递归与非递归解法
python 递归 class Solution:def VerifySquenceOfBST(self, sequence):# write code hereif len(sequence) &l ...
- 翻转二叉树 c语言实现 递归 栈 队列
前言 题目比较好理解,就是翻转二叉树 代码 c语言实现 #include<stdio.h> #include<stdlib.h> #include<string.h> ...
最新文章
- 关于yarn的一些心得
- 【英语学习】【WOTD】cerebral 释义/词源/示例
- 国家图书馆关于php的书,国家图书馆啊,能借的书太少
- .NET/C# 使用Stopwatch测量运行时间
- [つづく]MySTL
- 医疗搜索中的query词权重算法探索
- nexus3 测试操作
- 网课题库接口教程(免费)
- 桌面共享工具(可以实现RTMP直播、K歌、投屏等功能)
- Hermite(埃尔米特)插值法 | 插值多项式+ 插值余项
- 清算号和联行号有区别吗?区别是什么?
- 人工智能AI对客户服务的影响正在形成
- 计算机飞行模式无法关闭,Win10开启飞行模式之后无法关闭退出怎么解决
- python基础ppt_Python入门之你必须了解的基础知识
- Helio Protocol — 分布式代币借贷和流动性质押协议
- HI,Bing,近期数字安全领域有什么热点事件?
- 联想笔记本电脑昭阳k2450关机这个灯一直闪烁,而且还消耗电量
- 展望下未来的计算机400字,展望未来作文400字(精选8篇)
- linux pyinstaller打包python文件
- 下一代 IDE 工具 JetBrains Fleet 正式公测
热门文章
- vue中自适应rem的设置及vant组件库px自动修改为相对大小的方法两则(postcss-pxtorem和postcss-px-to-viewport)
- C语言主编李念,李念远大前程剧照走红 自曝为角色爱上旗袍与国粹
- Analyzing and Leveraging Decoupled L1 Caches in GPUs
- 淘宝客 PK 直通车 ,孰更胜一筹?
- 【深度学习工作站】攒机
- 排列三带坐标走连线图_排列三带坐标连线专业版
- 信息安全管理与评估知识概括
- 英雄体育VSPN冲刺港股:9个月营收超13亿 腾讯是股东
- 小米手机安装 charles 证书 windows10
- SQL server 数据库 修改字段类型