最近一直掉分,谔谔。

分析

发现机房里面除了我以外都用递归写的,那我就来讲一种非递归的吧。

考虑第 \(i\) 级地毯拆成九块以后其实就是八块第 \(i-1\) 级地毯与一块大小为 \(3^{i-1}\times 3^{i-1}\) 大小的白色地毯。所以用一个三维数组记录每一级地毯的状态,然后循环往上跑,每一级地毯用上一级地毯来更新,就结束了。

代码虽然有点长,但是基本都是复制粘贴的操作写完的,很好懂。

Code

#include<bits/stdc++.h>
using namespace std;
const int mod=998244353;
inline int read()
{
int w=1,s=0;char ch=getchar();
while(!isdigit(ch)){if(ch=='-') w=-1;ch=getchar();}
while(isdigit(ch)){s=s*10+(ch-'0');ch=getchar();}
return w*s;
}
const int maxn=1e6+10;
int n;
int a[10][4000][4000];
void work(int x)
{
for(int k=0;k<3;k++)
{
for(int i=1;i<=pow(3,x-1);i++)
{
for(int j=1;j<=pow(3,x-1);j++)
{
a[x][i][k*(int)pow(3,x-1)+j]=a[x-1][i][j];
}
}
}
for(int i=1;i<=pow(3,x-1);i++)
{
for(int j=1;j<=pow(3,x-1);j++)
{
a[x][(int)pow(3,x-1)+i][j]=a[x-1][i][j];
}
}
for(int i=1;i<=pow(3,x-1);i++)
{
for(int j=1;j<=pow(3,x-1);j++)
{
a[x][(int)pow(3,x-1)+i][(int)pow(3,x-1)+j]=0;
}
}
for(int i=1;i<=pow(3,x-1);i++)
{
for(int j=1;j<=pow(3,x-1);j++)
{
a[x][(int)pow(3,x-1)+i][2*(int)pow(3,x-1)+j]=a[x-1][i][j];
}
}
for(int k=0;k<3;k++)
{
for(int i=1;i<=pow(3,x-1);i++)
{
for(int j=1;j<=pow(3,x-1);j++)
{
a[x][2*(int)pow(3,x-1)+i][k*(int)pow(3,x-1)+j]=a[x-1][i][j];
}
}
}
}
signed main()
{
cin>>n;
a[0][1][1]=1;
for(int i=1;i<=n;i++)
{
work(i);
}
// cout<<a[1][2][2];
for(int i=1;i<=pow(3,n);i++)
{
for(int j=1;j<=pow(3,n);j++)
{
cout<<(a[n][i][j]==0?'.':'#');
}
cout<<endl;
}
return 0;
}

ABC357-C题解的更多相关文章

  1. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  2. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  3. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  4. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  5. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  6. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  7. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  8. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

  9. CF100965C题解..

    求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...

  10. JSOI2016R3 瞎BB题解

    题意请看absi大爷的blog http://absi2011.is-programmer.com/posts/200920.html http://absi2011.is-programmer.co ...

随机推荐

  1. 常回家看看之off_by_one

    off_by_one这个漏洞比较特殊,它不像上一期的堆溢出,可以溢出很多字节,它只能溢出一个字节,在栈里面也可以通过这个漏洞修改返回地址什么的,在堆里面我们主要利用它来修改堆块的大小,形成fake_c ...

  2. linux获取docker容器中的文件路径怎么表示

    在Linux系统中,Docker容器中的文件路径与宿主机上的文件系统是隔离的,因此我们不能直接使用宿主机的文件系统路径来访问容器内的文件.但是,有几种方法可以让我们获取或操作Docker容器中的文件. ...

  3. statefulset有状态应用管理

    statefulset介绍 StatefulSet(有状态集,缩写为sts)常用于部署有状态的且需要有序启动的应用程序,比如在进行SpringCloud项目容器化时,Eureka的部署是比较适合用St ...

  4. docker创建容器数据持久化资源限制基础命令

    1. docker简介和核心概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使 ...

  5. 霍夫变换原理及实现(Opencv C++)

    已知一幅图像中的n个点,假设我们希望找到这些点中位于直线上的子集.一种可能的解决方法是,首先找到由每对点确定的所有直线,然后寻找靠近特定直线的那些点的所有子集.这种方法涉及寻找n(n-1)/2~n2条 ...

  6. LeetCode 621. 任务调度器 (Java)

    题目: 给定一个用字符数组表示的 CPU 需要执行的任务列表.其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务.任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完.C ...

  7. 20 套监控平台统一成 1 套 Flashcat,国泰君安监控选型提效之路

    author:宋庆羽-国泰君安期货 运维工作最重要的就是维护系统的稳定性,其中监控是保证系统稳定性很重要的一环.通过监控可以了解系统的运行状态,及时发现问题和系统隐患,有助于一线人员快速解决问题,提高 ...

  8. Oracle使用序列和触发器设置自增字段

    一.创建一张工作表 例: create table tv(ID NUMBER primary key,TVNAME VARCHAR(16),ISPASS NUMBER);   二.先创建一个序列 cr ...

  9. Vue学习:14.工程化开发&脚手架

    0基础如何进入IT行业? 简介:对于没有任何相关背景知识的人来说,如何才能成功进入IT行业?是否有一些特定的方法或技巧可以帮助他们实现这一目标? 方向一:学习路径 1.明确兴趣和目标:首先确定你对IT ...

  10. XML文档定义的几种形式和本质区别

    XML文档定义的形式 两种定义形式:DTD.Schema DTD:数据类型定义(Data Type Definition),用以描述XML文档的文档结构,是早期的XML文档定义形式. Schema:其 ...