Tic Tac Toe

Tic Tac Toe が終了。

vi

この問題は、vi が面白かった。はじめ、一番初めの図形を作り、コピーして、OX を付け加えていき完成形を作っていたが、発想を逆にして、完成形を作ってから、ひとつひとつ空白に置き換えていくようにしたら、ぐっと縮まった。各ループで、OX を交代する必要がないし、OX の場所へは、'w' や '*' で簡単に移動できるのが奏功した。

C / JS

この2つはほぼ同じロジックでトップが取れた。面白かったのは、基本図形を作る部分で、当初、

' |-+'[(i/12&1)*2+!(i%4)]

↑このように、横・縦の線を引くタイミングを 2 ビットに埋め込んで index していたのが、↓以下のように、式がかなり縮まった。

' |-+'[i/6&2|i%4<1]

12分の1にしたときの最下位ビットの有無が、6分の1にしたときの2番目のビットの有無と一致するなんて。当たり前かもしれないが、気がつき難い。

Groovy

惨敗。strlist.join() -> strlist.sum() なんて、定石としてメモにしておいたのにすっかり忘れていた。そのほか、私のコードは Groovy が活きていない。
〜〜〜
次は、perfect square free の公開が1日半後か。こちらも、Groovy が、そして、GolfScript がトップに追いつけない。。。