TopCoder部

TopCoder部

はちろくっぽい人たちがTopCoder(特にSingle Round Match)の話をするところ.

はちろくTopCoder部 Skypeチャット(クリックで参加します)*1もあります.

TopCoder Single Round Matchって何?

TopCoder Single Round Match(略してSRM)は週一回ぐらいの頻度で開催されるプログラミングコンテストです.一回約75分で終わるので気軽に参加できます.専用のJavaプログラム*2をダウンロードしてそこで3つ与えられる問題を解き,コードができたらJavaプログラム内で送信します.

自分のコードを書く時間の他にも他人の書いたコードの穴を見つける時間も用意されているので,人のコードを読む練習にもなります.

最終的に自分のコードが合っていればそのラウンドでの得点が得られます.ひとつのSRMが終わると,そのラウンドの得点によってプレイヤーのratingが上がったり下ったりして一喜一憂して楽しみます.

どんな問題が出るの?

難しい問題はもちろんありますが,一番最初に解くような問題は二重ループをまわせれば解けるような問題が多いです.

日本人にとっては英文で書かれている問題を読むのがつらいですが,なあにかえって免疫力がつく.

どんな言語が使えるの?

Single Round Matchで使える言語はC++, Java, C#, Visual Basicです.

開催日時は?

開催日時は世界中の人が参加できるように開催日ごとに異なります.日本時間で0時, 1時, 10時, 20時が多いです.

Google CalendarTopCoder SRMsを利用すると便利です.

上のカレンダーのソースであるics形式のファイルはhttp://sprawdzaczka.ii.uni.wroc.pl/~embe/tccal.icsからダウンロードできるようです.


TopCoder公式サイト ... を見るよりもJavaプログラムを起動しよう

公式サイトは http://www.topcoder.com/.ただしこのサイトはいろんな情報で溢れてしまっているので必要な情報に辿りにくいです.ユーザー登録ぐらいにしか使わないです.ユーザ登録はKosei Kitaharaさんのツイート: "初心者向けTopCoder勉強会資料(登録から練習まで):http://tinyurl.com/633zgf"の資料が詳しいです.

一番最初に過去問を見たいときは,例えばSRM 397のお知らせからContestAppletProd.jnlpというJavaプログラムをダウンロード&起動し,ログインしてPractice Roomから過去問を右のように辿るといいでしょう.

プラグイン

TopCoderに自分の好きなエディタで参加するためにはプラグインを入れる必要があります.


GulfweedさんのTopCoderでCodeProcessor+TZTester+FileEditのエントリに従ってこの三つのプラグインを導入すると良いです.

ただしいくつか注意点があります.

  • CodeProcessorのバージョンは2.0ではなく1.2のほうを入れてください.
  • プラグインを保存するディレクトリのパス名に日本語が含まれていると動かないときがあるので,日本語が含まれていないパスにプラグインを保存してください.
  • デフォルトのエディタをStandardにして問題を解くときにCodeProcessorを選んだほうがいいぽい.


エディタ設定

emacs

flymakeコーディング途中に裏でコンパイルしてミスを教えてくれる

メンバー

はてなIDスカイプratingひとこと
id:suztomosuztomoratingわいわいやりながら解くのが好きです
id:isocchiisochiratingプログラムを考える時間より英語を理解するじかn(ry
id:mishor.mishoへっぽこiterator死ねよ
id:n4_tnaoya.tratingTopCoderはじまた
id:y_nagatahmproject1026ratingJava を勉強しなおしがてら
id:tomeruntomerunrating毎回がコーディングミス地獄
id:chokudaichokudai73rating赤い人こわいです><
id:caliguecaligueratingいつまで経っても中途半端な実力

*1:はちろくはIRCじゃなくてSkypeチャットが人気です.Skypeといっても文字チャットです.

*2JavaプログラムなのでJava Appletが動く環境ならWindowsでもMacでもLinuxでも参加できます