POJ - 2083 Fractal(dfs,递归画图)
题目链接:点击查看
题目大意:给出一个n,要求递归画图
题目分析:重点就是设计递归啦,也没什么好说的,因为题目保证了n小于等于7,然后矩阵的大小为3^(n-1)*3^(n-1)所以矩阵最大不超过729*729,可以预先开好一个二维数组,储存好全是空格,然后递归的时候只需要对于X进行绘制就好了,观察一下需要绘制的图形,我们大体可以分成五个部分,然后直接写就好啦。。
代码:
#include<iostream>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<climits>
#include<cmath>
#include<cctype>
#include<stack>
#include<queue>
#include<list>
#include<vector>
#include<set>
#include<map>
#include<sstream>
using namespace std;typedef long long LL;const int inf=0x3f3f3f3f;const int N=1e3+100;int f[10];char maze[N][N];void dfs(int x,int y,int deep)
{if(deep==1){maze[x][y]='X';return;}dfs(x,y,deep-1);dfs(x+f[deep-1]*2,y,deep-1);dfs(x+f[deep-1],y+f[deep-1],deep-1);dfs(x,y+f[deep-1]*2,deep-1);dfs(x+f[deep-1]*2,y+f[deep-1]*2,deep-1);
}void init()//初始化三的幂次+矩阵全部初始化为空格
{f[1]=1;for(int i=2;i<10;i++)f[i]=f[i-1]*3;for(int i=0;i<N;i++)for(int j=0;j<N;j++)maze[i][j]=' ';
}int main()
{
// freopen("input.txt","r",stdin);
// ios::sync_with_stdio(false);int n;while(scanf("%d",&n)!=EOF&&n!=-1){init();dfs(0,0,n);for(int i=0;i<f[n];i++){maze[i][f[n]]=0;puts(maze[i]);}puts("-");}return 0;
}
POJ - 2083 Fractal(dfs,递归画图)相关推荐
- #分治#poj 2083 Fractal
题目 若B(1)=′X′B(1)='X'B(1)=′X′ B(n)(n>1)=B(n)(n>1)=B(n)(n>1)= B(n−1)(3n−1个空格)B(n−1)B(n-1)(3^{ ...
- POJ 2083 递归画分形图
http://poj.org/problem?id=2083 Fractal 方法一: /* 度数为n的盒形分形,其大小是3^(n-1)*3^(n-1).可以用字符数组来存储盒形分形中各个字符, ...
- POJ 3889 Fractal Streets(逼近模拟)
$ POJ~3889~Fractal~Streets $(模拟) $ solution: $ 这是一道淳朴的模拟题,最近发现这种题目总是可以用逼近法,就再来练练手吧. 首先对于每个编号我们可以用逼近法 ...
- DFS递归之迷宫问题
DFS之迷宫问题 迷宫问题 一.能否逃出迷宫 二.逃出迷宫的最短路径 三.缺口迷宫 小结 迷宫问题 本文仅使用 DFS 递归 算法不断回溯来解决迷宫问题,不涉及利用 "栈" .&q ...
- POJ - 2386 (dfs简单应用)
POJ - 2386 (dfs深度优先搜索) 题目正文: Due to recent rains, water has pooled in various places in Farmer John' ...
- Poj P3889 Fractal Streets___规律+dfs+分治
题目大意: 有TTT组数据, 每组给出3个数n,h,o" role="presentation" style="position: relative;" ...
- POJ 1753 翻棋子 (dfs+递归)。
终于来填坑了.依旧是递归的题目,最近做的都是关于递归的问题.下一个是汉诺塔问题. 这道题也是看了很多别人的博客才弄出来的,但是分析还是要试着自己写一下. 题意是这样的,有一个4*4的棋盘,你可以自定义 ...
- poj 滑雪(DFS)||(DP+递归)
滑雪 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael ...
- LeetCode 207. Course Schedule--有向图找环--面试算法题--DFS递归,拓扑排序迭代--Python
题目地址:Course Schedule - LeetCode There are a total of n courses you have to take, labeled from 0 to n ...
最新文章
- 5分钟 搭建免费个人博客
- 盘点 | 2017 年 关于 Python 的 13 件大事
- 宏基因组合种树,2-4天领证
- 基本空战战术动作及BZ图解
- OpenCV Laplacian算子
- Nginx作为静态资源web服务
- SpringMVC 3 Tiles 2.2.2集成教程
- ADOCE打包到WinCE NK.bin镜像中
- c++ 结构体中不同类型的初始值_Golang语言基础教程:结构体
- tsql_TSQL的历史
- 将职业教育职业化 - 各IT培训中心必须完成的使命
- JACK——PaintRobot Exercise6
- MPPT算法(恒定电压、扰动观察、电导增量)介绍与实现过程
- phpQuery占用过多内存的解决方法
- 贴片电阻电容标称换算
- 【材料课堂】锂电池基础
- Jinja2 入门教程、基本概念、简单使用及使用 Jinja2 生成 H3C 交换机配置举例
- linux点击桌面图标无反应,电脑点击图标没反应怎么回事
- 仰睇天路,俯促鸣弦。神仪妩媚,举止详妍
- OpenCV+Mediapipe人物动作捕捉与Unity引擎的结合