フラクタル

問題の意味
各ボックスは、ボックスに5は、以下のように配置された
XX
X-
XX
第一段階だけつの入力のn、現在のパターンの出力段、
「 - 」は、2つの出力Aとの間の間隔

説明

 

図1は、9。側ステージ、3,3の2段階のオーダーであり、nは3 ^(N-1)の順序は、
すべての辺の長さを前処理することができる
、再帰的にN-1ここで、n段目から始まるゼロ再帰ファーストクラスのグラフィックス

1の#include <ビット/ STDC ++ H>
 2  の#define長い長llの
 3  使用して 名前空間STDを、
4  のconst  int型 N = 750 5  INT N。
6  INTの P [ 8 ]。
7  ブールA [N]、[N]。
8インラインボイドフラクタル(int型 K、int型のx、int型Y){
 9     もし(!K){
 10        [X] [Y] = 1 11        リターン;
12     }
13     フラクタル(k - 1 、X、Y)
14     フラクタル(k - 1、X、Y + 2 * P [K])。
15     フラクタル(k - 1、X + P [k]は、Y + P [K])。
16     フラクタル(k - 1、X + 2 * P [k]は、Y)。
17     フラクタル(k - 1、X + 2 * P [k]は、Y + 2 * P [K])。
18  }
 19インラインボイドフラクタル(){
 20     フラクタル(N、11 )。
21     のためのINTは iは= 1 ; I <= P [n]は、I ++ ){
 22        のためにINT J = 1 ; J <= P [N]; J ++ 23           のputchar([I] [J]?' X ''  ' );
24の        プット("" )。
25     }
 26     プット(" - " )。
27     のためのINTは私= 1 ; I <= P [n]はI ++ 28        のためのINT J = 1; J <= P [N]。J ++ 29           [I] [J] = 0 ;
30  }
 31  int型のmain(){
 32の     IOS :: sync_with_stdio(0 )。
33     cin.tie(0 )。
34     cout.tie()。
35     P [ 1 ] = 1 36     のためにINT iは= 2、iは<= 7 ; I ++ 37        P [I] = P [I- 1 ] * 3 38     一方(&& N = N CIN >>! - 1 ){
 39       フラクタル();
40     }
 41 }

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/hhyx/p/12417798.html