题目描述就不用看了,直接上样例就行:
输入样例#1:
2
输出样例#1:
/\
/__\
/\ /\
/__\/__\
输入样例#2:
3
输出样例#2:
/\
/__\
/\ /\
/__\/__\
/\ /\
/__\ /__\
/\ /\ /\ /\
/__\/__\/__\/__\
嗯,一个赤裸裸的分形图。
#include<bits/stdc++.h>
using namespace std;
int n;
char a[][];
void solve(int m1,int m2,int h1,int h2)
{
if(m2-m1==)
{
a[h1][m1+]=a[h2][m1]='/';
a[h1][m2-]=a[h2][m2]='\\';
a[h2][m1+]=a[h2][m1+]='_';
return;
}
else{
solve(m1,(m1+m2)/,(h1+h2)/+,h2);
solve((m1+m2)/+,m2,(h1+h2)/+,h2);
solve(m1+(m2-m1+)/,m2-(m2-m1+)/,h1,(h1+h2)/);
} }
int main()
{
cin>>n;
int m=pow(,n+),h=pow(,n);
solve(,m,,h);
for(int i=;i<=h;i++)
{
for(int j=;j<=m;j++)
{
if(a[i][j]==)printf(" ");
else printf("%c",a[i][j]);
}
puts("");
}
}