图腾 - 题解
图腾
时间限制:C/C++ 1000MS,其他语言 2000MS
内存限制:C/C++ 128MB,其他语言 256MB描述
给定一个正整数 \(n\),参考输出样例,输出图形。
\(1≤n≤10\)输入描述
每个数据输入一个正整数 \(n\),表示图腾的大小.
输出描述
这个大小的图腾.
用例输入 1
2用例输出 1
/\ /__\ /\ /\ /__\/__\用例输入 2
3用例输出 2
/\ /__\ /\ /\ /__\/__\ /\ /\ /__\ /__\ /\ /\ /\ /\ /__\/__\/__\/__\
代码
#include<cstdio>
#include<string>
using namespace std;
int N;
string str[2050];
inline void Init()
{
str[0]={" /\\ "};
str[1]={"/__\\"};
}
void make_triangle(int n)
{
for(int i=0;i<1<<(n-1);i++)
str[i+(1<<(n-1))]=str[i]+str[i];
for(int i=0;i<1<<(n-1);i++)
{
str[i].insert(0,1<<(n-1),' ');
str[i].insert(str[i].length(),1<<(n-1),' ');
}
if(n<N) make_triangle(n+1);
return;
}
int main()
{
scanf("%d",&N);
Init();
if(N>=2) make_triangle(2);
for(int i=0;i<1<<N;i++)
printf("%s\n",str[i].c_str());
return 0;
}
本文采用 「CC-BY-NC 4.0」 创作共享协议,转载请注明作者及出处,禁止商业使用。
作者:Jerrycyx,原文链接:https://www.cnblogs.com/jerrycyx/p/18327758

浙公网安备 33010602011771号