题目链接:点击查看

题目大意:给出一个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,递归画图)相关推荐

  1. #分治#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^{ ...

  2. POJ 2083 递归画分形图

    http://poj.org/problem?id=2083    Fractal 方法一: /* 度数为n的盒形分形,其大小是3^(n-1)*3^(n-1).可以用字符数组来存储盒形分形中各个字符, ...

  3. POJ 3889 Fractal Streets(逼近模拟)

    $ POJ~3889~Fractal~Streets $(模拟) $ solution: $ 这是一道淳朴的模拟题,最近发现这种题目总是可以用逼近法,就再来练练手吧. 首先对于每个编号我们可以用逼近法 ...

  4. DFS递归之迷宫问题

    DFS之迷宫问题 迷宫问题 一.能否逃出迷宫 二.逃出迷宫的最短路径 三.缺口迷宫 小结 迷宫问题 本文仅使用 DFS 递归 算法不断回溯来解决迷宫问题,不涉及利用 "栈" .&q ...

  5. POJ - 2386 (dfs简单应用)

    POJ - 2386 (dfs深度优先搜索) 题目正文: Due to recent rains, water has pooled in various places in Farmer John' ...

  6. Poj P3889 Fractal Streets___规律+dfs+分治

    题目大意: 有TTT组数据, 每组给出3个数n,h,o" role="presentation" style="position: relative;" ...

  7. POJ 1753 翻棋子 (dfs+递归)。

    终于来填坑了.依旧是递归的题目,最近做的都是关于递归的问题.下一个是汉诺塔问题. 这道题也是看了很多别人的博客才弄出来的,但是分析还是要试着自己写一下. 题意是这样的,有一个4*4的棋盘,你可以自定义 ...

  8. poj 滑雪(DFS)||(DP+递归)

    滑雪 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael ...

  9. 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 ...

最新文章

  1. 5分钟 搭建免费个人博客
  2. 盘点 | 2017 年 关于 Python 的 13 件大事
  3. 宏基因组合种树,2-4天领证
  4. 基本空战战术动作及BZ图解
  5. OpenCV Laplacian算子
  6. Nginx作为静态资源web服务
  7. SpringMVC 3 Tiles 2.2.2集成教程
  8. ADOCE打包到WinCE NK.bin镜像中
  9. c++ 结构体中不同类型的初始值_Golang语言基础教程:结构体
  10. tsql_TSQL的历史
  11. 将职业教育职业化 - 各IT培训中心必须完成的使命
  12. JACK——PaintRobot Exercise6
  13. MPPT算法(恒定电压、扰动观察、电导增量)介绍与实现过程
  14. phpQuery占用过多内存的解决方法
  15. 贴片电阻电容标称换算
  16. 【材料课堂】锂电池基础
  17. Jinja2 入门教程、基本概念、简单使用及使用 Jinja2 生成 H3C 交换机配置举例
  18. linux点击桌面图标无反应,电脑点击图标没反应怎么回事
  19. 仰睇天路,俯促鸣弦。神仪妩媚,举止详妍
  20. OpenCV+Mediapipe人物动作捕捉与Unity引擎的结合

热门文章

  1. MyBatis 实际使用案例-核心对象的生命周期
  2. 基于Xml 的IOC 容器-分配解析策略
  3. 初始化Spring Bean:Bean初始化有哪些方式?
  4. springboot约定优于配置的体现
  5. canal数据同步(开启binlog功能)
  6. 云服务器 web网站吗,web云服务器免费的吗
  7. linux系统管理试卷必修B卷,2013-2014Linux系统管理试卷
  8. InfluxDB基本使用说明
  9. Spring AOP源码解析(二)—— AOP引入
  10. Java反射-继承关系