No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 1078 | 1079 | 1080 |...| 1247 | 1248 | 1249 || Next»

合宿2日目

午前は白黒タイルで重複しない順列の全生成と川下りの最適な出発時刻の問題.白黒タイルの問題は sed でも順列を全然生成してから重複を消すことで解けた.川下りは問題の仕様がある意味おかしく正しい答えの出ない問題な気がする.とりあえず誰のプログラムが正しかったのかわからなかったけど手で確認した限り自分らのプログラムが正しい気がする.

午後はラムダ式の簡約と形の崩れていない三角形をした Quine コードを作る問題.ラムダ式の簡約はチームメンバーが舜殺してしまったらしい.Quine の方はきれいな形のコードを生成するプログラムとか作ろうとして断念.既存のコードを手で成形してみたもののあまりうまくいかなかった.これに関してはあとで再チャレンジしよう.

合宿1日目

MSSの変形が2問と偽物金貨を探す天秤の使用回数最小化の問題.天秤の問題は問題仕様がよくわからなかったのだが結局最悪の回数を最小化するのが出題者の意図だったらしい.問題に書いといてくれないと分らんってばよ.sed でも金貨枚数を数え上げられるので任意の入力で正しい答えは出せる.つまりは枚数回の比較をすればよいので.ということで,終わり数分で sed プログラムを作れて発表できたので満足.

なるかな進行中

クリアランク SS がなかなか取れない… 全部 SS 取るってできるのか? 途中まで気付かんかったけど自軍のキャラは HP が 0 になってもユニット消えないので最初の方に関してはもう少し速く攻略できそうだけど… そしてなにげにクリスト(赤青緑)のチームが強い.他のユニットのレベルが低いのかもしれんけど.フレイムシャワー+アイシクルアローαってやられると面倒だけどやる分には非常に便利だ.とりあえずまだまだ先は長そうなので合宿終わるまで中断.

佐川おせーよ…

朝一で「配達に出発」になっていたにもかかわらず届くのは夕方って… 時間帯指定してないからいつ届けようが向こうの勝手ではあるのだが持ち出したらその時間帯に届けてほしいなぁ.配達店から遠いのだろうか? とりあえず朝から待ってた自分が馬鹿らしい.やっぱ一回不在届を受けて時間帯指定で再配達が一番効率よいかな.なにはともあれ聖なるかなゲット.

複数キーボードの入力を複数のウィンドウに割り振って1台のPCで同時プログラミング?

合宿の縛りであるところの「チームでPC1台」への対抗策としてキーボード毎にイベントの送り先ウィンドウを変えるマルチキーボード環境を作ろうと思った.適当な理由により OS は WinXP で使う言語は C# に固定.これができれば1台のPCで複数人が同時にプログラムを書けて力強い.仕組みとしては, Raw Input 使って入力デバイスの識別できるキー入力メッセージを取得し,そのメッセージを指定されたウィンドウにリダイレクすればうまく動きそう,と.

でも,実際に作ってみると調査不足のため二つほど問題が出てきて使い物になんかった.一つ目としては,Raw Input はフォーカスなしでもメッセージ取得できるのだが,このメッセージを潰すことができずにフォーカスを持ったウィンドウにメッセージが飛んでしまう.なので,リダイレクト先がフォーカスを持っているとキーが二重に入ってしまったりする.メッセージを潰す一つの手段として,Low-Level Keyboard をフックしてチェインをぶった切るというのがあるのだが,Low-Level のフックが RawInput の前に起こるのでこれはつかえない.C#だとこのフック以外はグローバルにできないのでこの時点で手詰まり.適当なウィドウを用意してそこにフォーカスを固定しておけば何とかなるけど… 美しくない.二つ目は致命的で, Shift/Alt/Ctrl の押下状態が全キーボードで共用となってしまうみたい.つまり,どれかでShiftを押しとくくと,全ウィンドウで Shift が押された状態になるらしい.キー入力メッセージの送信で修飾キーの情報を入れてないのが原因かもしれないけどなんとなく Windows が押下状態を管理している気がするのでどうにもならん気がする.もう少し試してみやうかな?

VS.NET + Subversion

AnkhSVN という addin で VS.NET でも subversion によるバージョン管理ができるらしい.VSS (Visual SourceSafe) とかいう Microsoft 純正のソフトはひじゃうに高価なのでフリーで使える svn が利用できるこいつはありがたい.svn は cygwin で入れてるので AnkhSVN をダウンロードしてインストールするだけで準備完了.あとは適当にリポジトリ作ってソリューションごとリポジトリに追加するだけ.新しいリポジトリを AnkhSVN から作れるのかは今のところよくわからん.ので,svnadmin 使ってローカルに手動でてきとうなリポジトリを作り… もう少し使ってみないと使えるのかどうかよくわからん.

«Prev || 1 | 2 | 3 |...| 1078 | 1079 | 1080 |...| 1247 | 1248 | 1249 || Next»
Search
Feeds

Page Top