PKU1941 - The Sierpinski Fractal

1941 -- The Sierpinski Fractal

タイトル通り。
最初に思いついたのが

  1. 2007-04-28を使う
  2. 普通に再帰
  3. オートマトン

の3つだったけど、結局(1)ならバッファが要らないのがでかくてそれで。
trailing spaceは1,2個なら余裕で通る。その意味で若干インチキコードと言えなくもない。

x,y,f,l;
main(n){
  for(;scanf("%d",&n),n;l=puts(""))
    for(y=1<<n;y--;x=puts(""),y%2||l++)
      for(f=y;x<=l;)
        printf(f?f--," ":l&x^x++?"    ":y%2?"/\\  ":"/__\\");
}

突っ込みよろしくですm(_ _)m


最近はショートコーディングできそうな問題を探すのが面倒くさくなってきて、普通に面白そうな問題を長く書いたりしてるので久々にショートコーディングした気分。