$AcWing$

$Sol$

一年前做过差不多的南蛮图腾,当时做出来还是很有成就感的$OvO$

$N<=7$,就是模拟模拟,预处理一下,$over$

$Code$

#include<bits/stdc++.h>
#define il inline
#define Rg register
#define go(i,a,b) for(Rg int i=a;i<=b;++i)
#define yes(i,a,b) for(Rg int i=a;i>=b;--i)
#define mem(a,b) memset(a,b,sizeof(a))
#define ll long long
#define db double
using namespace std;
il int read()
{
Rg int x=,y=;char c=getchar();
while(c<''||c>''){if(c=='-')y=-;c=getchar();}
while(c>=''&&c<=''){x=(x<<)+(x<<)+c-'';c=getchar();}
return x*y;
}
char as[][][];
il int ksm(int x,int y){Rg int ret=;while(y){if(y&)ret*=x;x*=x;y>>=;}return ret;}
il void init()
{
as[][][]='X';
go(n,,)
{
Rg int qwq=ksm(,n-);
go(i,,qwq)
{
go(j,,qwq)as[n][i][j]=as[n][i][j+qwq*]=as[n-][i][j];
go(j,qwq+,*qwq)as[n][i][j]=' ';
}
go(i,qwq+,qwq*)
{
go(j,,qwq)as[n][i][j]=as[n][i][j+qwq*]=' ';
go(j,qwq+,*qwq)as[n][i][j]=as[n-][i-qwq][j-qwq];
}
go(i,qwq*+,qwq*)
{
go(j,,qwq)as[n][i][j]=as[n][i][j+qwq*]=as[n-][i-qwq*][j];
go(j,qwq+,*qwq)as[n][i][j]=' ';
}
}
}
int main()
{
init();
while()
{
Rg int n=read();if(n==-)break;
Rg int qwq=ksm(,n-);
go(i,,qwq){go(j,,qwq)printf("%c",as[n][i][j]);printf("\n");}
printf("-\n");
}
return ;
}

随机推荐

  1. ping的使用

    ping -t cnblogs.com 可以一直ping网址显示对应的响应时间

  2. 洛谷P2820 局域网

    #include<bits/stdc++.h> using namespace std; ; ; int n,k,sum,tot; struct node{ int cnt,fa; }f[ ...

  3. uniapp点击底部tabbar不跳转页面

    一个项目,其设想是这样的,当我进入页面,发现有新版本,提示用户之后,用户点击确定跳转到下载页面. 弹出框要用自己封装的,因为uniapp的弹出框不同的手机上展示的样子不一样,领导的是华为(在这里悄悄吐 ...

  4. 神经网络入门——8XOR感知器

    XOR 感知器     XOR 感知器就是一个这样的逻辑门:输入相同返回 0 ,输入不同返回 1.与之前的感知器不同,这里并不是线性可分的.要处理这类较为复杂的问题,我们需要把感知器连接起来. 我们用 ...

  5. JavaScript 按位与和逻辑与

    逻辑与操作符有两个和好(&&)表示,有两个操作数,如下面的例子所示: var result = true && false;   第一个操作数 第二个操作数 结果 tr ...

  6. [转][ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [中篇]

    我们在<上篇>利用dotnet new命令创建了一个简单的控制台程序,接下来我们将它改造成一个ASP.NET Core应用.一个ASP.NET Core应用构建在ASP.NET Core框 ...

  7. 第三次脱发——Scurm学(ctrl)习(C)心得

    Scrum 学习心得: 首先,敏捷并不是一门具体的技术,而是一种理念或者说是一种思想.它可以指导我们更加高效的开发. 其次,敏捷开发都具有以下共同的特征: 迭代式开发 增量交付 开发团队和用户反馈推动 ...

  8. Java如何计算hashcode值

    在设计一个类的时候,很可能需要重写类的hashCode()方法,此外,在集合HashSet的使用上,我们也需要重写hashCode方法来判断集合元素是否相等. 下面给出重写hashCode()方法的基 ...

  9. 如何在git中删除指定的文件和目录

    部分场景中,我们会希望删除远程仓库(比如GitHub)的目录或文件. 具体操作 拉取远程的Repo到本地(如果已经在本地,可以略过) $ git clone xxxxxx 在本地仓库删除文件 $ gi ...

  10. siblings() 获得匹配集合中每个元素的同胞

    定义和用法 siblings() 获得匹配集合中每个元素的同胞,通过选择器进行筛选是可选的. 如果给定一个表示 DOM 元素集合的 jQuery 对象,.siblings() 方法允许我们在 DOM ...