$Poj2083/AcWing118\ Fractal$ 模拟
$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 ;
}
随机推荐
- ping的使用
ping -t cnblogs.com 可以一直ping网址显示对应的响应时间
- 洛谷P2820 局域网
#include<bits/stdc++.h> using namespace std; ; ; int n,k,sum,tot; struct node{ int cnt,fa; }f[ ...
- uniapp点击底部tabbar不跳转页面
一个项目,其设想是这样的,当我进入页面,发现有新版本,提示用户之后,用户点击确定跳转到下载页面. 弹出框要用自己封装的,因为uniapp的弹出框不同的手机上展示的样子不一样,领导的是华为(在这里悄悄吐 ...
- 神经网络入门——8XOR感知器
XOR 感知器 XOR 感知器就是一个这样的逻辑门:输入相同返回 0 ,输入不同返回 1.与之前的感知器不同,这里并不是线性可分的.要处理这类较为复杂的问题,我们需要把感知器连接起来. 我们用 ...
- JavaScript 按位与和逻辑与
逻辑与操作符有两个和好(&&)表示,有两个操作数,如下面的例子所示: var result = true && false; 第一个操作数 第二个操作数 结果 tr ...
- [转][ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [中篇]
我们在<上篇>利用dotnet new命令创建了一个简单的控制台程序,接下来我们将它改造成一个ASP.NET Core应用.一个ASP.NET Core应用构建在ASP.NET Core框 ...
- 第三次脱发——Scurm学(ctrl)习(C)心得
Scrum 学习心得: 首先,敏捷并不是一门具体的技术,而是一种理念或者说是一种思想.它可以指导我们更加高效的开发. 其次,敏捷开发都具有以下共同的特征: 迭代式开发 增量交付 开发团队和用户反馈推动 ...
- Java如何计算hashcode值
在设计一个类的时候,很可能需要重写类的hashCode()方法,此外,在集合HashSet的使用上,我们也需要重写hashCode方法来判断集合元素是否相等. 下面给出重写hashCode()方法的基 ...
- 如何在git中删除指定的文件和目录
部分场景中,我们会希望删除远程仓库(比如GitHub)的目录或文件. 具体操作 拉取远程的Repo到本地(如果已经在本地,可以略过) $ git clone xxxxxx 在本地仓库删除文件 $ gi ...
- siblings() 获得匹配集合中每个元素的同胞
定义和用法 siblings() 获得匹配集合中每个元素的同胞,通过选择器进行筛选是可选的. 如果给定一个表示 DOM 元素集合的 jQuery 对象,.siblings() 方法允许我们在 DOM ...