C - Sierpinski carpet(abc357)

题意:

  • 中央区块完全由白色单元格组成。
    • 其他八个区块是 (𝐾−1)(K−1) 级地毯。

给你一个非负整数 N 。

请按照指定格式打印 N 级地毯。

分析:先把地毯分成九块

除了中间那块,其它都是由左上角那块延申出来的

#include<bits/stdc++.h>

using namespace std;

char a[1000][1000];

int main(){

int n;cin>>n;

a[1][1]='#'; int c=1;

for(int i=1;i<=pow(3,n);i++){

a[i][0]='#';a[0][i]='#';

}

for(int z=1;z<=n;z++){

c*=3;

for(int i=1;i<=c;i++){

for(int j=1;j<=c;j++){

if(i>c/3||j>c/3){//除了左上角那块

if((i>c/3&&i<=2*(c/3))&&(j>c/3&&j<=2*(c/3))){//中间那块

a[i][j]='.';

}

else if(i<=c/3&&j>c/3){

a[i][j]=a[i][j%(c/3)];

}

else a[i][j]=a[i%(c/3)][j];

}

}

}

}

for(int i=1;i<=c;i++){

for(int j=1;j<=c;j++){

cout<<a[i][j];

}

cout<<endl;

}

return 0;

}

相关推荐
智者知已应修善业几秒前
【51单片机1,左边4个LED灯先闪烁2次后,右边4个LED灯再闪烁2次:2,接着所用灯一起闪烁3次,接着重复步骤1,如此循环。】2023-5-19
c++·经验分享·笔记·算法·51单片机
xiaoye-duck7 分钟前
《算法题讲解指南:优选算法-队列+宽搜》--70.N叉树的层序遍历,71.二叉树的锯齿形层序遍历,72.二叉树的最大宽度,73.在每个树行中找最大值
数据结构·c++·算法·队列
代码改善世界8 分钟前
【C++初阶】双向循环链表:List底层结构的完整实现剖析
c++·链表·list
汀、人工智能9 分钟前
[特殊字符] 第98课:数据流中位数
数据结构·算法·数据库架构··数据流·数据流中位数
REDcker11 分钟前
C++ 包管理工具概览
开发语言·c++
Eloudy12 分钟前
不同特征值的特征向量互相正交的矩阵
人工智能·算法·机器学习
人道领域14 分钟前
【LeetCode刷题日记】:从 LeetCode 经典题看哈希表的场景化应用---数组、HashSet、HashMap 选型与算法实战
算法·leetcode·面试
努力努力再努力wz14 分钟前
【C++高阶系列】告别内查找局限:基于磁盘 I/O 视角的 B 树深度剖析与 C++ 泛型实现!(附B树实现源码)
java·linux·开发语言·数据结构·c++·b树·算法
承渊政道15 分钟前
【优选算法】(实战攻坚BFS之FloodFill、最短路径问题、多源BFS以及解决拓扑排序)
数据结构·c++·笔记·学习·算法·leetcode·宽度优先
kishu_iOS&AI17 分钟前
机器学习 —— 线性回归(2)
人工智能·python·算法·机器学习·线性回归