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;

}

相关推荐
xlq223225 小时前
22.多态(上)
开发语言·c++·算法
666HZ6665 小时前
C语言——高精度加法
c语言·开发语言·算法
sweet丶5 小时前
iOS MMKV原理整理总结:比UserDefaults快100倍的存储方案是如何炼成的?
算法·架构
D_evil__5 小时前
[C++高频精进] 并发编程:线程基础
c++
666HZ6666 小时前
C语言——黑店
c语言·开发语言
云里雾里!6 小时前
力扣 209. 长度最小的子数组:滑动窗口解法完整解析
数据结构·算法·leetcode
Mr_WangAndy6 小时前
C++17 新特性_第二章 C++17 语言特性_std::any和string_view
c++·string_view·c++40周年·c++17新特性·c++新特性any
CoderYanger7 小时前
递归、搜索与回溯-穷举vs暴搜vs深搜vs回溯vs剪枝:12.全排列
java·算法·leetcode·机器学习·深度优先·剪枝·1024程序员节
憨憨崽&7 小时前
进击大厂:程序员必须修炼的算法“内功”与思维体系
开发语言·数据结构·算法·链表·贪心算法·线性回归·动态规划
水天需0108 小时前
C++ 三种指针转换深度解析
c++