トップ «前の日記(2007-07-23) 最新 次の日記(2007-07-26)» 編集

U-memo

2006|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|08|
2009|08|10|
2010|02|03|
2011|11|12|
2012|04|
2016|02|
All= / Today= / Yesterday=

2007-07-24

_ [雑記] ICFP contest (意味のないネタばらし)

スタートラインに立ってない私がネタ晴らしするよぉ。

OCaml で参戦。ていうか C で参加したら死ぬ。

経過

最初の1日(22:00過ぎから21日5:00くらいまで)はコーディングしながら、たまに気まぐれのprefix をサブミットしてははじかれる状態を繰り返してました。ランダムにサブミットしたところであかんね、と。 で、寝る

起きたら昼すぎてて、日記のとおりにデバッグ。 このときの間違いは quote() の処理を間違ってたんだが、えらいロスをした。

RNA がいくつか出ていることは確認できていたので、夕方から RNA を書き始めて、へんな文字列が書かれているのを確認。 OCaml の Graphics モジュールは原点が左下なのでそのまま描いて天地逆で読めずにひっくり返す。 文字列を拾ってサブミットしても 3583420 ってあかんやんけ。

このあたりですでにぐだぐだで何度もゲームに逃避する。ダメすぎ。

22日は昼間爆睡していて進捗はほとんどなし。 夜から再開したものの、Stack Overflow|http://www.math.sansu.org/u/diary/?date=20070723#p01 にはまる。末尾再帰になってくれてないっぽいので書き直す。 実際にはそこじゃなくて fill() の実装解釈の問題だったのでこれも書き直し。しばらくしてあきらめて観戦モード。

23日はサラリーマンしていたので会社でスコアボード見てましたー。

感想

稲葉さんの 2/22:00 の「ヒント」は同じような時間帯に得ているっぽいな。 うちのプログラムは RNA を吐いたらそのたびに bitmap に反映させる 方針を採っていた(リストなんか作ってられるか) ので、他がバグっていようが、pattern と RNA 系がいい加減に実装されていれば 1 iteration の 途中までで出てくるのよね、その30Bのヒント。

# line の実装が面倒でコレだけ先に (bitmapに反映させずに) draw させてたから見つけるのは早かった。

しかし、稲葉さんのその感想を見る限り、世界の数十人はすでに完成させた上でそこを通過していたわけだねー。

で、なまじコレを見てしまったがために、shinhさんみたいな力技をする気はまったくなくなった。その 30B をsubmitさせてみるも、最初の28Bよりスコアが悪いので、用途が全く違うと言うことだけは分かって、 とりあえずプログラムを全部完成させないとスタートラインにならないっていう結論に到達したのです。最初は自前で描くのかとか揺れてましたが...。

どのみちバグってて作戦以前ですが orz

そしてデバッグしきれずに今に至る。全然あかんやんけ。

line 49/pattern の IF の3文字消費とか言う、見落としがちなヤツは気づいてたんだけど、そもそも普通のプログラマ以前でした orz。 一流の人らの生産量(と正確さ)は全然違うねぇ。

反省:

  • 一人で参加する場合は周りの邪念を全てなくしておくか、さもなくば参加したことで満足すること
  • 問題はちゃんと読め
  • 急がば回れ

万が一今後デバッグすることがあったら作ったプログラム公開するかも。 未完成品を公開する気にはなれぬ。

_ [プロセッサ] ペタコン

次世代スパコンは散々な書かれようですなぁ。 Σ計画 なんてのを思い出します。