Archive for October of 2006

Google CodeJam 2006

October 30, 2006
無事に終了したようです。日本からも1名(nyaさん)が参加されました。結局TopCoderでもレーティング1位のPetr氏が優勝した模様です。

GCJではTopCoderの講評みたいに統計が出ないようなのでメモっておきます。

優勝
Petr (Petr Mitrichev)
言語 C#
得点 927.02 (0.0 + 417.26 + 509.76)

問題概説
250点問題
与えられた複数の点に対する近似直線を求める問題
最速 pashka 7.34分
正答者 69

500点問題
ハッシュから元の文字列を求める問題
最速 tomek 9.06分
正答者 38

1000点問題
パラメータ表示された曲線上の格子点を零点にもつ多項式を求める問題
最速 andrewzta 33.64分
正答者 5

関連サイト
This year's CodeJam
Google Announces Winner of Global Code Jam 2006

私は決勝の様子をのんびり観戦していたのですが、対戦終盤にサーバからの情報が遅延しだしてついには切断。つなぎ直したときにはコンテストの情報が一切見られなくなっているという始末でした。悲しい。現在は得点やコードの閲覧が出来るようになっています。

TopCoderでCodeProcessor+TZTester+FileEdit

October 07, 2006
上位陣が結構使ってるプラグイン構成

FileEditは外部ファイルをソースとして自動で読み込むようにするもの。
Meadowなりなんなり好きなエディタが使えます。コピペの必要がありません。

TZTesterはテストコード自動生成プラグインで、
ローカルコンパイル&実行すると提示されているサンプルパターンを
全部一気にチェックしてくれます。

手順

Plugin紹介ページからTZTester.jar, FileEdit.jar, CodeProcessor.jarをダウンロード

Competition Arenaの「Options → Editor」で「Editor Preferences」を開く

Common ClassPathにBrowseボタンでTZTester.jar, FileEdit.jarを追加

Addボタンを押して以下のように入力してOKを押す
Name: CodeProcessor
EntryPoint: codeprocessor.EntryPoint
ClassPath: CodeProcessor.jarのパス

CodeProcessorを選択し、Configureを押して「CodeProcessor Configuration」を開く

「Editor EntryPoint」にfileedit.EntryPointと入力してConfigureを押す

「General」タブで「Enter directory to read/write problems to」にソースを置きたいディレクトリを記入

「Code Template」タブでTZTester用にTemplateを編集する。例えばC++ならば

class $CLASSNAME$ {
public:
$RC$ $METHODNAME$($METHODPARMS$) {

}
$TESTCODE$
};

// BEGIN CUT HERE
int main() {
$CLASSNAME$ ___test;
___test.run_test(-1);
}
// END CUT HERE


とする。「// {BEGIN|END} CUT HERE」で囲まれる部分は
CodeProcessor FileEditがSubmit時に削除してくれる。

Saveボタンを押したら今度は「Processor Class」に「tangentz.TZTester」と
記入して「Verify」を押す。3つのメソッドについて「found」と出たらOK。
だめだったらCompetition Arenaを再起動してからチェック。

使い方

新しい問題を開くとDefault Languageに基づいてスケルトンが出来上がる。
外部ファイルを編集・保存してからCompetition Arenaのほうで
Compileを押すと自動的にソースが読み込まれてコンパイルされる。
※ 問題を開いてから言語を変えた場合、前に選択していた言語のままのソースが
外部ファイルにエクスポートされてしまう模様なので注意。

外部ファイルをローカルコンパイルして実行するとTZTesterが生成したテストコードが
実行されて結果が出る。

かなり楽ちんになるでしょう。
ここまでやったらあとはコーディングの実力を・・・

Read more