luogu1498:南蛮图腾:分治?复制!

题目链接:


题意:

1 打印图形,要求打印2的(n-1)次方层的三角形

n=1的时候,输出

n=2的时候,输出

   n=3的时候,输出

luogu1498:南蛮图腾:分治?复制!_第1张图片


解题思路:

1 想来想去没理解和分治有什么关系,只想到了是倍增的思维;

2 很认证研究了半天题解之后发现,原来是分步骤复制的问题,所以叫分治?应该是我没理解透分治,还要多刷题!

3 我用的方法是:打表!

4 设当前是第x层,将x层的图形在 x+1 层复制两份,再回头在x层居中对齐复制一次,具体操作如下图:

当前从第1层复制到第2层:

                                                                                      

本来这样============> 第一步:将自己向下复制两份 ========>第二步:向上(原来层)中间对齐复制一份回去

5 也有一些题解是用逆序存放的方法来解决对齐的问题,也是很流弊的~~~

上代码:

#include

char s[2000][2000];

int main()
{
	int n;
	scanf("%d",&n);
	
	memset(s,' ',sizeof(s));
	
	s[1][1]=s[1][4]=' ';
	s[1][2]=s[2][1]='/';
	s[2][2]=s[2][3]='_';
	s[1][3]=s[2][4]='\\';
	
	int h=2,w=4;
	
	for(int i=1;i

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(题解,分治,luogu)