日記
結局西尾泰和のブログ: Pythonでワンライナーを作成する際のノウハウ集なんかを作って徹夜してしまいました。
和田君から。
西尾さん、Fnキー+F7にあるメニューの設定でのカスタマイズは既にをお使いですか?変なサイズのディスプレイや最近はやりのワイドタイプの場合はともかく、4:3タイプのディスプレイの大きさなら大体、何とかなると思います。もし使われてないならぜひ。こういう機能はThinkPadはしっかりしていると思います。
おすすめされたモニタをよく考えずに買ったらその最近はやりのワイドタイプで、切り替えられるサイズ一覧に適切なサイズが出てこないという罠にはまっています。画面のプロパティで変える場合も、一度デュアルモニタの設定にしてOKを押さないと選択肢に出てこないので、不便です。 現在の状況を保存・復元できればいいだけなんですけどね。
__ まいねーむいず
__ 喉が渇いたなぁ…。薬局でクレジットカードが使えなかったので青汁を買わなかったのは間違いだったのかも知れないなぁ。
__ うまく動かなかったEclipseのProfilerプラグイン、消してインストールし直したら動きました。何が原因だったのだろう。とりあえずProfilerDLL.dllが適切なところにコピーされていないというのではないと思われる。なぜなら「ProfilerDLL.dllが~~に入っていないと起動できないよ?コピーする?」という趣旨のダイアログが表示されたから。親切ー。
GRINEditのプロファイリングをしたいのをぐっとこらえてDancingLinks。
ふむ。 僕はJavaプログラムの高速化はあまり詳しくはないが…2次元配列をd[x][y]を{{x, y, d[x][y]},....}というリストに一度変換した上で、制約に反せずにx,yに値vを入れることが出来るかどうかをこのリストから線形探索して調べているように見える…。9 * 9 * 9回、このリストからの線形探索をしているように見える…。 はっ、しかも制約に反することがわかったところでreturnすればいいものを、毎回全部探索してる!
書き換えたら一時的に作られるリスト自体がいらなくなりました。16%高速化。
__ 「ふつうのはすける」で変換したら「普通のは透ける」になりました。
__ Dancing Linksの肝は4方向リスト。本当は昨日読むはずだったのに、ワンライナーなんか作ってしまって、急いで読もうと思ったのに晩ご飯を食べたら眠くて…寝てから読むか、月曜にプリントアウトして電車の中で読むか。火曜日はラボのミーティングだしなぁ。
__ 渡辺さんの裏に迷路が付いている名刺を見てから、ずっと裏につけようと思っていた物がやっと完成しました。
一応、数字の入っているマスも、印の付いているマスも点対称なのだけど、3*3*3*3の普通の数独に比べて制約が弱くなるからなのか、これくらいたくさん数字を入れないと解けてくれません。うまく配置するともっと少なくても解けるのかも知れないけど…。
あとはこれを名刺の裏にうまく印刷できるか試さなきゃ。