洛谷——P1498 南蛮图腾

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了洛谷——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 南蛮图腾的主要内容,如果未能解决你的问题,请参考以下文章

洛谷——P1498 南蛮图腾

P1498 南蛮图腾

P1498 南蛮图腾

P1498 南蛮图腾

洛古P1498:南蛮图腾(分治算法)

洛谷 1498 南蛮图腾