首页 > 代码库 > 洛谷——P1498 南蛮图腾
洛谷——P1498 南蛮图腾
https://www.luogu.org/problem/show?pid=1498
题目描述
自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果(看Hint),在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗?
输入输出格式
输入格式:
每个数据一个数字,表示图腾的大小(此大小非彼大小) n<=10
输出格式:
这个大小的图腾
输入输出样例
输入样例#1:
2
输出样例#1:
/ /__ /\ //__\/__
输入样例#2:
3
输出样例#2:
/ /__ /\ / /__\/__ /\ / /__\ /__ /\ /\ /\ //__\/__\/__\/__\
基础算法貌似不会诶~~
先给数组清成空格 方便
每当大小为1时,就构建三角
最后输出
size表示大小,x表示行,y表示列
1 #include <algorithm> 2 #include <cstring> 3 #include <cstdio> 4 5 using namespace std; 6 7 int n; 8 char s[2333][2333]; 9 10 void DFS(int size,int x,int y)11 {12 if(size==1)13 {14 s[x][y]=s[x][y+1]=‘_‘;15 s[x][y-1]=s[x-1][y]=‘/‘;16 s[x][y+2]=s[x-1][y+1]=‘\\‘;17 return ;18 }19 int move=1<<size-1;20 DFS(size-1,x,y-move);21 DFS(size-1,x,y+move);22 DFS(size-1,x-move,y);23 }24 25 int main()26 {27 scanf("%d",&n);28 memset(s,‘ ‘,sizeof(s));29 int n_=1<<n;30 DFS(n,n_,n_);31 for(int i=1;i<=n_;i++)32 {33 for(int j=1;j<=n_<<1;j++)34 printf("%c",s[i][j]);35 printf("\n");36 }37 return 0;38 }
洛谷——P1498 南蛮图腾
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。