洛谷 P1498 南蛮图腾
题目描述
自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗?
输入输出格式
输入格式:
每个数据一个数字,表示图腾的大小(此大小非彼大小) n<=10
输出格式:
这个大小的图腾
输入输出样例
输入样例#2: 复制
3
输出样例#2: 复制
/\
/__\
/\ /\
/__\/__\
/\ /\
/__\ /__\
/\ /\ /\ /\
/__\/__\/__\/__\
思路:首先是要搞明白他的样例是怎么出来的,也就是题目中说的自相似的意思。
来自搜狗百科:自相似的物件是近乎或确实和它的一部分相似。若说一个曲线自我相似,即每部分的曲线有一小块和它相似。
这就是几个自相似的图片。推荐一个了解自相似的文章。
那这个题目的意思题意就很清楚了:我们的知道他的每一个小单元也就是:
/\
/__\
当n等于2是时候,可以发现是上面的小单元水平向右有一个单元,再向上平移一个得到的。
/\ /__\ /\ /\ /__\/__\
那n=3时,发现也是上面的单元向右以一个,再向上平移一个得到的。
/\ /__\ /\ /\ /__\/__\ /\ /\ /__\ /__\ /\ /\ /\ /\ /__\/__\/__\/__\
那n=4和n=5也就出来了:
/\ /__\ /\ /\ /__\/__\ /\ /\ /__\ /__\ /\ /\ /\ /\ /__\/__\/__\/__\ /\ /\ /__\ /__\ /\ /\ /\ /\ /__\/__\ /__\/__\ /\ /\ /\ /\ /__\ /__\ /__\ /__\ /\ /\ /\ /\ /\ /\ /\ /\ /__\/__\/__\/__\/__\/__\/__\/__\
/\ /__\ /\ /\ /__\/__\ /\ /\ /__\ /__\ /\ /\ /\ /\ /__\/__\/__\/__\ /\ /\ /__\ /__\ /\ /\ /\ /\ /__\/__\ /__\/__\ /\ /\ /\ /\ /__\ /__\ /__\ /__\ /\ /\ /\ /\ /\ /\ /\ /\ /__\/__\/__\/__\/__\/__\/__\/__\ /\ /\ /__\ /__\ /\ /\ /\ /\ /__\/__\ /__\/__\ /\ /\ /\ /\ /__\ /__\ /__\ /__\ /\ /\ /\ /\ /\ /\ /\ /\ /__\/__\/__\/__\ /__\/__\/__\/__\ /\ /\ /\ /\ /__\ /__\ /__\ /__\ /\ /\ /\ /\ /\ /\ /\ /\ /__\/__\ /__\/__\ /__\/__\ /__\/__\ /\ /\ /\ /\ /\ /\ /\ /\ /__\ /__\ /__\ /__\ /__\ /__\ /__\ /__\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /__\/__\/__\/__\/__\/__\/__\/__\/__\/__\/__\/__\/__\/__\/__\/__\
代码实现是很简单的,但要注意字符串的相关输入在linux和windows下是不同的:
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; char a[1024][2048]; int main(){ int n,length=4,k=1; cin>>n; for(int i=0;i<1024;i++) for(int j=0;j<2048;j++) a[i][j]=' '; a[0][0]=a[1][1]='/'; a[0][1]=a[0][2]='_'; a[0][3]=a[1][2]='\\'; while(k<n){ for(int i=0;i<length/2;i++) for(int j=0;j<length;j++) a[i+(length/2)][j+(length/2)]=a[i][j+length]=a[i][j]; length*=2,k++; } for(int i=(length/2)-1;i>=0;i--){ for(int j=0;j<length;j++) cout<<a[i][j]; cout<<endl; } }
细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。
雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。