Sim's blog

電子工作はじめてみました

ICFP2007 (17) help-palindromesの修復

2007-09-02 23:30:34 | ICFPプログラミングコンテスト
ICFP2007 (16) トレースRNAのエンコードの続きです。

mainを逆アセンブルしてその存在が分かったpage 1230321です。元の画像は文字がどんどんフェードアウトして先が読めなくなっていました。調べてみると意外と簡単に文字が読めました。



元の画像です。


drawStringは文字の色を外部の関数にまかせます。事前にcharColorCallbackに関数へのポインタをセットしておきます。help-palindromesではfadingColorsという関数をセットしていました。これをcolorWhiteに換えただけです。
実際にcharColorCallbackに設定する命令はGZ+6571dfです。テンプレート中に設定する関数の番地があります。GZ+657210が関数の番地、657229が関数のサイズです。

palindromeというのは回文のことです。「竹やぶ焼けた」みたくさかさまから読んでも同じになる文です。最後のパラグラフが意味深です。誤り訂正をするための冗長部分として回文が利用できるみたいなことが書いてあります。壊れているcloudとduolcを連結すると回文になっているということみたいです。ちょうどサイズも同じです。
9/3 追記 cloudの記述を変更

サイズが同じというとcow-middle-spotとcow-middle-spot-ecc、sunとsunflowerも同じサイズです。

最新の画像もっと見る

コメントを投稿