POJ 2083 Fractal(dfs)
来源:互联网 发布:知乎 家族显赫 编辑:程序博客网 时间:2024/05/18 18:03
Fractal
Time Limit: 1000MS Memory Limit: 30000KTotal Submissions: 9938 Accepted: 4567
Description
A fractal is an object or quantity that displays self-similarity, in a somewhat technical sense, on all scales. The object need not exhibit exactly the same structure at all scales, but the same "type" of structures must appear on all scales.
A box fractal is defined as below :
Your task is to draw a box fractal of degree n.
A box fractal is defined as below :
- A box fractal of degree 1 is simply
X - A box fractal of degree 2 is
X X
X
X X - If using B(n - 1) to represent the box fractal of degree n - 1, then a box fractal of degree n is defined recursively as following
B(n - 1) B(n - 1) B(n - 1)B(n - 1) B(n - 1)
Your task is to draw a box fractal of degree n.
Input
The input consists of several test cases. Each line of the input contains a positive integer n which is no greater than 7. The last line of input is a negative integer −1 indicating the end of input.
Output
For each test case, output the box fractal using the 'X' notation. Please notice that 'X' is an uppercase letter. Print a line with only a single dash after each test case.
Sample Input
1234-1
Sample Output
X-X X XX X-X X X X X XX X X X X X X X XX X X X X XX X X X-X X X X X X X X X X X XX X X X X X X X X X X X X X X X X XX X X X X X X X X X X XX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X XX X X X X X X X X X X XX X X X X X X X X X X X X X X X X XX X X X X X X X X X X XX X X X X X X X-
Source
Shanghai 2004 Preliminary
思路:这类题观察图形特点,递归输出即可。
AC代码:
#include <iostream>#include <cmath>#include <cstring> using namespace std;const int max_n=729;char G[max_n][max_n];void dfs(int x,int y,int degree){ int s=(int)pow(3,degree-2); if(degree==1) { G[x][y]='X'; return ; } dfs(x,y,degree-1); dfs(x+2*s,y,degree-1); dfs(x+s,y+s,degree-1); dfs(x,y+2*s,degree-1); dfs(x+2*s,y+2*s,degree-1);}int main(){ int degree,length; bool flag; while(cin>>degree&°ree!=-1) { length=(int)pow(3,degree-1); memset(G,' ',sizeof(G)); dfs(0,0,degree); for(int i=0;i<length;i++) { for(int j=0;j<length;j++) { cout<<G[i][j]; flag=false; for(int k=j+1;k<length;k++) if(G[i][k]!=' ') { flag=true; break; } if(!flag) break; } cout<<endl; } cout<<'-'<<endl; } return 0;}
阅读全文
0 0
- POJ 2083 Fractal(dfs)
- poj--2083--Fractal(dfs)
- poj Fractal 2083 (模拟&&dfs)
- poj 2083 Fractal (dfs 分形图)
- POJ 2083 Fractal(递归)
- POJ 题目2083 Fractal(分治)
- POJ 2083 Fractal (打表乱搞)
- POJ 2083 Fractal(分形题目)
- Poj 2083 Fractal
- 【递归】poj 2083fractal
- POJ-2083-Fractal
- poj 2083 Fractal 递归
- POJ 2083 Fractal
- Fractal poj 2083
- POJ 2083 Fractal 递归
- POJ 2083 Fractal
- poj 2083 Fractal
- POJ 2083 Fractal
- 分页
- let 和 const 命令
- ios-base64编码
- 前端开发环境搭建 node+webpack+babel+js压缩
- 优化Cookie应用
- POJ 2083 Fractal(dfs)
- jQuery 使用方法
- TP5中支付demo
- SQL语句
- OpenGL入门学习
- 用线程和互斥锁实现的简单的卖票系统
- Java集合框架
- Java 连接active mq
- 上传文件