题目:https://www.luogu.org/problemnew/show/P1498
大约一年前该做的题...现在来填一下坑;
然而不怎么会模拟!还滚去看TJ了;
就是翻倍复制;
\ 这个符号原来如此神奇!好像有什么功能,所以打两个(\\)才代表这个字符本身。
代码如下:
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int n,l; char ch[1030][2050]; int main() { scanf("%d",&n); l=4; for(int i=0;i<1024;i++) for(int j=0;j<2048;j++)ch[i][j]=' '; ch[0][0]=ch[1][1]='/', ch[0][1]=ch[0][2]='_', ch[0][3]=ch[1][2]='\\';//是'\\'而不是'\'! for(int i=2;i<=n;i++) { for(int h=0;h<l/2;h++) for(int r=0;r<l;r++) ch[h+l/2][r+l/2]=ch[h][r+l]=ch[h][r]; l*=2; } for(int i=l/2-1;i>=0;i--) { for(int j=0;j<l;j++) printf("%c",ch[i][j]); printf("\n"); } return 0; }