标签:
Time Limit: 1000MS | Memory Limit: 30000KB | 64bit IO Format: %I64d & %I64u |
Description
B(n - 1) B(n - 1) B(n - 1) B(n - 1) B(n - 1)
Input
Output
Sample Input
1 2 3 4 -1
Sample Output
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 - 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 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 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 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 X
分治法画图
代码:
#include<iostream> #include<cstring> #include<cstdio> #include<map> #include<cstring> #include<algorithm> #define mem(a,b) memset(a,b,_sizeof(a)) using namespace std; typedef long long ll; typedef unsigned long long llu; const int maxd=1000+10; //--------------------- int n; char mz[maxd][maxd]; int _size[8]; void init(int len) { for(int i=0; i<len; ++i) { for(int j=0; j<len; ++j) mz[i][j]=' '; mz[i][len]='\0'; } } void draw(int n,int x,int y) { if(n==1) mz[x][y]='X'; else { draw(n-1,x,y); draw(n-1,x,y+_size[n-1]*2); draw(n-1,x+_size[n-1],y+_size[n-1]); draw(n-1,x+_size[n-1]*2,y); draw(n-1,x+_size[n-1]*2,y+_size[n-1]*2); } return; } int main() { freopen("1.txt","r",stdin); _size[0]=0; _size[1]=1; for(int i=2; i<=9; ++i) _size[i]=_size[i-1]*3; while(scanf("%d",&n)==1 && n!=-1) { init(_size[n]); draw(n,0,0); for(int i=0; i<_size[n]; ++i) { for(int j=0; j<_size[n]; ++j) printf("%c",mz[i][j]); printf("\n"); } printf("-\n"); } return 0; }
Time Limit: 1000MS | Memory Limit: 32768KB | 64bit IO Format: %I64d & %I64u |
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 Sierpinski fractal is defined as below:
Your task is to draw a Sierpinski fractal of degree n.
Input
Output
Sample Input
Sample Output
#include<iostream> #include<cstring> #include<cstdio> #include<map> #include<cstring> #include<algorithm> #define mem(a,b) memset(a,b,_sizeof(a)) using namespace std; typedef long long ll; typedef unsigned long long llu; const int maxd=2000+10; //--------------------- int n; char mz[maxd][maxd]; int _size[12]; void init(int len) { for(int i=0; i<len; ++i) { for(int j=0; j<len; ++j) mz[i][j]=' '; mz[i][len]='\0'; } } void draw(int n,int x,int y) { if(n==1) mz[x][y]='@'; else { draw(n-1,x,y); draw(n-1,x+_size[n-1],y); draw(n-1,x+_size[n-1],y+_size[n-1]); } return; } int main() { freopen("1.txt","r",stdin); _size[0]=0; _size[1]=1; for(int i=2; i<=12; ++i) _size[i]=_size[i-1]*2; while(scanf("%d",&n)==1 && n) { init(_size[n]); draw(n,0,0); for(int i=0; i<_size[n]; ++i) { for(int j=_size[n]-1; j>=0; --j) if(mz[i][j]=='@') {mz[i][j+1]='\0';break;} puts(mz[i]); } printf("\n"); } return 0; }
标签:
原文地址:http://blog.csdn.net/whoisvip/article/details/46128837