zoukankan      html  css  js  c++  java
  • 分形

     

     

     

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 const int N = 800;
     4 char g[N][N];
     5 int mul(int n) {
     6     int res = 1;
     7     for (int i = 1; i <= n; i++) {
     8         res *= 3;
     9     }
    10     return res;
    11 }
    12 void dfs(int n) {
    13     if (n == 1) {
    14         g[0][0] = 'X';
    15         return;
    16     }
    17     dfs(n - 1);
    18     int len = mul(n - 2);
    19     //右上的起点编号(0, 2 * len)
    20     //中间的起点编号(1 * len, 1 * len)
    21     //左下的起点编号(2 * len, 0)
    22     //右下的起点编号(2 * len, 2 * len)
    23     int sx[4] = {0, 1, 2, 2};
    24     int sy[4] = {2, 1, 0, 2};
    25     for (int k = 0; k < 4; k++) { //4次
    26         for (int i = 0; i < len; i++) {
    27             for (int j = 0; j < len; j++) {
    28                 g[sx[k] * len + i][sy[k] * len + j] = g[i][j];
    29             }
    30         }
    31     }
    32 }
    33 int main() {
    34     dfs(7);
    35     int n;
    36     while (cin >> n && n != -1) {
    37         int len = mul(n - 1);
    38         for (int i = 0; i < len; i++) {
    39             for (int j = 0; j < len; j++) {
    40                 if (g[i][j]) {
    41                     cout << "X";
    42                 } else {
    43                     cout << " ";
    44                 }
    45             }
    46             cout << endl;
    47         }
    48         cout << "-" << endl;
    49     }
    50     return 0;
    51 }
  • 相关阅读:
    一起学Python:协程
    一起学Python:字符串介绍
    一起学Python:列表介绍
    一起学Python:字典介绍
    一起学Python:元组
    函数介绍
    函数参数和函数返回值
    CodeForces 680A&680B&680C&680D Round#356
    POJ 3481 set水过
    BZOJ 1037 生日聚会 DP
  • 原文地址:https://www.cnblogs.com/fx1998/p/13998464.html
Copyright © 2011-2022 走看看