No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 1197 | 1198 | 1199 |...| 1338 | 1339 | 1340 || Next»

transpose lines@sed

90bytes前後からなかなか縮まらなかったのだが,アルゴリズムを切り替えたら突然46bytesまで縮んだ.s コマンドのに p オプションをつけたのが正解らしい.

sort characters@sed

バブルソートを実装して走らせたら timeout を食らった.高々260文字程度のソートに7秒近くかかるのは駄目らしい.しょうがないのでバケットソートに切り替えてどうにか成功.サイズは204bytesで,これ以上はあまり縮みそうにない.バブルソートのほうが202bytesで少し小さいのが残念… マージソートとかも書いてみようか?

GCD@sed を縮める

よく考えたら 7 bytes 縮まった.現在 15 bytes.エンベッドモドキ強し.

部屋の片付け

おもむろに部屋の片づけを行った.発掘品: SCSIカード AHA-2940UW, PCI モデムカード, ISA モデムカード, GeForce MX, YAMAHA 4倍速CDRドライブ.結構古いものが見つかったなぁと.CDRドライブは挙動がおかしいし,SCSIカードは繋げる物がないし,ISAバスなんか消え去っているし… ゴミだな.

Windowsのコンボボックスのカスタム化

聞かれて調べたのでメモ.

なにやらウィンドウプロシージャを乗っ取るらしい.ただ,コンボボックス内のエディットコントロールは独立したウィンドウプロシージャを持つらしいので,

    HWND hwndEdit = GetTopWindow( hwndComboBox );

とかしてエディットコントロールのハンドラを取っとかないとはまる.あとは,GetWindowLong で元のプロシージャを取得して,SetWindowLong で新しいプロシージャを登録して,新しいプロシージャ内で CallWindowProc を使って元のプロシージャを呼べばいいらしい.

参考:

http://www.expertmg.co.jp/html/cti/vctips/control.htm

http://www.arcpit.co.jp/winapi/api_02/ap020108.htm

FizzBuzz@sed revise

抜かされていたのでもう少しコードを書き換えて小さくしてみた.10と5の最大公約数が5であることを使って5の倍数カウンタを排除して,整形部分をもう少し頭のよい書き方に変えてみた.現在144bytes.今のコードは1000までとかでも普通に動くコードなので,高々100までという問題の条件を使うともう少し縮むのかなぁ?

«Prev || 1 | 2 | 3 |...| 1197 | 1198 | 1199 |...| 1338 | 1339 | 1340 || Next»
Search
Feeds

Page Top