#問題の意味
各ボックスは、ボックスに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、1、1 )。 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 }