TLE

http://felicity.iiit.ac.in/tle/ranks

2位。やや気合が入ってない感じだったものの、気合い入っててもこれはだめだったなーてくらいには kinaba さんに負けた感じでした。

1日だけというのは、一度スピードゴルフみたいなのやってみたいな…とか思ってたのでどういう感じがわかったのは良かったのですが、正直一つ一つのコードに愛着を持てなかったので、もう少し問題少ない方が良かったのかな…とか思いました。

スコアシステムは今までの倍とかは割と異常だったと思うんですけど、今回のももっと微妙なんで、まぁトップとの比と、あと各問題のトップは得点2割増し、とかそんな感じでいい気がします。

コード: http://shinh.skr.jp/dat_dir/tle2012/ 基本的に全て kinabaさんのコード に負けてます…

BST

なんか kinaba さんのコードに似てる。最初の gets は無いけど。なんで無いかというと、配列の 0-2 要素目まではあんま意味のない値が入るけど気にしないようなコードにしたから。見るからにゴルフが足りてない…

COMP

とりあえず仮で…っていう感じで適当な Quine を submit したコードのまま終了。何故か配点が低かったから他に時間をまわした。

Quine にせずに、 naoya_t さんみたいなコンセプトで書けるだろうな…とかは思ってはいたのだけど。 https://github.com/naoyat/TLE12/blob/master/composite.c 何故か配点低くなければ良問だったとは思うんですよね…

HASHING

今回の Quine 問題は両方とも Quine 無しで解ける感じなのか面白いな…て感じだった。

コード見て思うことはなんで俺は gets 使ってるのか…ということ。変数名の調整がめんどくさかった。

OUTPUT

謎ときした後一回も見てないくらいの勢いな気がする。全くゴルフらしいゴルフしてないね…

PALINDROME

なんでこんな差がついてるのかな…というのが謎でしょうがなかったのだけど、どうも C ゴルフ力が絶望的なことになってるというだけだったようでした。

RECURRENCE

僕の解釈によると 2*f(n-3) + 3*f(n-4) + 3*f(n-5) + f(n-6) とかで、色々もうちょい単純な式に変形とかもしたのだけど、コーナーケースを調べるローカルテストを入れちゃってたので、投稿テストすらしてない気がする。プログラムの構造自体は大きな差が無かったのかな。ゴルフで n>>=1 とか書いてる自分にビビるけど…そのくせ相変わらず入力関数は一個になってるんだよな…

あーあとこれ exit(0) 消せなかったんですね…

WONDERWOMAN

僕の中では定跡化しつつある感じなんだけど、 RLE して記号と長さそれぞれについて、ハフマンコードつきの頻度表ながめて、頻度の高いやつに短いビットを割りふる。今回は連続して登場しない子が結構いたので、そういう子は長さはエンコードしないようにした。どうも kinaba さんの説明見るに RLE するやつだけを記録する方が良かったみたいだけど。

あとこれも exit(0) 消せてないし、あとこの手のゴルフする時はこの後ダブルクォートやら改行を消して回る作業をするべきです…

総じて

終わった瞬間は時間内ではそれなりにがんばった! これは無理だった! って感じだったんですが、しかし今コード見ると結構ひどいもんですね…1日目が平日開始で1日目が実質使いものになってなかったとかいう感じなのもあったので、来年以降は平日開催だったら2日とも休んでしまうっていう荒技もありえますね…

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h