https://vijos.org/p/1167
描述
自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果(看Hint),在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗?
格式
输入格式
每个数据一个数字,表示图腾的大小(此大小非彼大小) n<=10
输出格式
这个大小的图腾
样例1
样例输入1[复制]
2
样例输出1[复制]
/\ /__\ /\ /\ /__\/__\
init:提示:
#include<iostream> #include<algorithm> #include<stdio.h> #include<math.h> #include<string.h> using namespace std; char str[11][1030][1030]; int cp[]={1,2,4,8,16,32,64,128,256,512,1024}; int main() { memset(str,0,sizeof(str)); str[1][0][0]=' '; str[1][0][1]='/'; str[1][0][2]='\\'; str[1][1][0]='/'; str[1][1][1]='_'; str[1][1][2]='_'; str[1][1][3]='\\'; int i,j,k,space=0,cn; for(i=2;i<=10;i++) { cn=cp[i]-1; int temp=1; for(j=0;j<cp[i];j++) { int ts=cp[i]/2; for(k=0;k<ts&&j<cp[i]/2;k++) { str[i][j][k]=' '; } strcpy(&str[i][j][k],str[i-1][j%cp[i-1]]); k+=strlen(str[i][j%cp[i]]); if(j>=cp[i]/2) { space=cp[i]/2-1-j%cp[i-1]; int l; for(l=0;l<space;l++,k++) str[i][j][k]=' '; strcpy(&str[i][j][k],str[i-1][j%cp[i-1]]); } } } int n; while(~scanf("%d",&n)) { for(i=0;i<cp[n];i++) puts(str[n][i]); } return 0; }