んでゴルフなんですが
なんか書かんかというありがたい誘いを受けて、なんか書いてみたいと思ったのでなんか書いてみたのですが、なんかどうしようもなくなんか冗長。なんか要するに小技が混じりまくってるのでなんか説明しずらいのですよね。なんか詳しく書くとなんか冗長だし。この文章のなんかみたいななんか冗長ななんかそういうなんか雰囲気でして。
なんか。
それはそれとして、1位取り返せる気配がなくて賞味期限切れが囁かれる中、軽く問題について語ってみましょう。苦しむ楽しさをスポイルしないように、って考えるとあんまり詳しく書けないですね。
- 1000-digits-of-pi (58B,9310pt)
- とりあえずせっせとアルゴリズムを探す感じ。今のアルゴリズムではこれが限界だと思ってます。
- vigenere-cipher (52B,8846pt)
- これ結構良く書けてる気がするんですが、まだ縮むんですねぇ。縮まない人はとりあえず秘密のメソッドを探すと良いです。
- prime-factors (84B,9880pt)
- あと1Bはいけそうだなぁと思ってたんですが、やはりkikさんがいってしまう有様。まぁそのうち83Bにはなると思っています。内容は普通です。
- calendar (280B,10000pt)
- 圧縮かければまだ縮みます。やや入力依存でたぶん3回に1回くらいしか通らない感じです。アルゴリズム的には縮む余地あんまり無さそうに思っています…
- home-on-the-range (63B,9047pt)
- Ruby不利すぎてPerl使っちゃった。Perlゴルフは勉強してないのでとりあえずこのへんで。 Ruby と Perl でだいぶアルゴリズム違うっす。 Ruby のは数値と文字列の微妙なハーモニーを。
- pascals-triangle (43B,9534pt)
- nihaさんも同じ理由で47Bで止まっていたそうです。実は47Bで止まってたのはイージーなミスで、アルゴリズム的にはとっくに43Bに達していました。いろいろやろうぜ。今のところ別解が3種類くらい、かな。ちなみに、何かに気付いたら縮むんじゃないか疑惑を持ってます。39Bの神秘。(39Bが出ると言ってるわけじゃないです)
- total-triangles (73B,8904pt)
- 逆順入力がステキすぎて死にます。全然縮みません。二大頭いい人向け問題認定しています。
- brainfuck (126B,9206pt)
- 発想を切り替えるんだ!あと evil な道は私の限界は 170B です。 > http://yowaken.dip.jp/tdiary/20061030.html#p04
- switchboard (72B,9861pt)
- さっき puts => $><< というイージーミスを修正して 72B に。 72B の回答はいくつもあるのだけれども、 71B は別世界?
- paint-by-numbers (292B,8116pt)
- 書いたアルゴリズム2種類目なのだけど、イマイチなのです。センスないなぁと思います。じっくり圧縮かけてこの程度。
- sha-256-hashing (479B,8058pt)
- これどうやって縮めるねん。圧縮かけてこれなんですが。
- 99-bottles-of-beer (184B,9565pt)
- 最初の問題ですが良問です。出力工夫する系は努力すれば少しずつ縮みますね。さっきかなり見た目の違う184Bの別解ができました。
- oblongular-number-spirals (138B,8478pt)
- 既に10種類近く実装してます。最初にテーブル用意するやりかたでこの結果です。頭いい人向け問題だと固く信じています。
- numeric-diamonds (113B,9469pt)
- 考えてると頭痛くなってきますが、地道にやればそれなりの数値にはなる問題かなと。
- crossword (265B,8830pt)
- 頭いい人向け。ごく最近まで答え埋め殺法でしたが、少しずつその部分を除去していって、今は綺麗な体…と言いたいところですが、7Bだけ圧縮されてます。
- conways-game-of-life (263B,8707pt)
- 速度とアルゴリズムのバランス取りが楽しいですね。ほんの少しだけ圧縮されてますがそもそもアルゴリズムなんとかしろムードが強いです。
圧縮についてですが、 crossword と lifegame にかかってるそれは、めんどい割に効果薄いのですが、小さいコードも一応縮みます。 paint-by-numbers と sha-256-hashing にかかってるやつは結構効果はあるんですが、元コードを圧縮しやすいように書いてるのでよくわからん気味ではあります。まぁ圧縮作業は自動化されてるので楽です。 30B-50B くらいかな?