天下一プログラマー

更新情報

2009年7月16日  第2回Web予選が終了しました。
2009年7月6日  第1回Web予選が終了しました。
2009年7月2日  募集要項を更新しました。
 
最新情報(コンテストの模様、実況等)は若手エンジニアブログで公開しております。   

賞金

賞金総額 100万円

優勝 30万円+副賞+天下一プログラマーの称号
※個人ブログやHPを当社HPへリンクさせていただきます

準優勝 10万円+副賞

特別賞 5万円+副賞
※3位ではなく特別賞へ変更になりました

参加賞 仮想サーバの提供
※予選通過者のみ

応募資格

大学・大学院・高等専門学校・短期大学・専門学校に在籍する全ての学生
※日本国内に限る

応募方法

2009年6月1日(月)~7月24日(金)18:00
エントリーはWeb予選日程の前日18:00まで受け付けます。

応募はこちらから

※チームでの応募も可能です(3人まで)
※Web予選に参加されない場合は自動的にキャンセル扱いとなります
※興味が沸いたらエントリーしておくことをおすすめします
※エントリーしておけば当日問題を閲覧することが可能です

Web予選

全3回行われるWeb予選の中から都合の良い日程を選んでご参加ください。

1回目 7月5日(日) 00:00~24:00   締切:7月4日(土) 18:00  終了いたしました。
2回目 7月15日(水) 00:00~24:00   締切:7月14日(火) 18:00  終了いたしました。
3回目 7月25日(土) 00:00~24:00   締切:7月24日(金) 18:00

※予選はWeb上で行いますので自由な場所とスタイルでご参加いただけます

Web予選の大まかな流れ

7/24 18:00エントリー締切
7/24 19:00Web予選の詳細メール送付
7/25 00:00Web予選の詳細メール送付リマインド
7/25 00:00Web予選サイトオープン
Web予選開催中
7/26 00:00Web予選サイトクローズ
7/26 18:00第3回目Web予選概況掲載(予定)
※上記の日付は3回目
 
7/27 18:00Web予選の結果メール送付

Web予選前日19:00ごろにWeb予選のサイトのURI、認証用のid/passの詳細をメールにて送付いたします。
※from: tenka1@klab.jp にて送付いたします

Web予選サイトは自動でオープンし24時間後に自動的にクローズします。
回答は何度でも投稿いただけます。
Web予選後すみやかに予選の概況をwebに掲載いたします。
Web予選の結果は7/27までに参加者全員にメールにて送付いたします。

決勝戦

2009年8月1日(土)~8月2日(日)
開催場所 東京 (六本木ヒルズ森タワー アカデミーヒルズ)

※交通費全額支給。また遠方よりご参加の方には宿泊費を支給いたします
※夏休みを利用して是非東京へお越しください

Web審査基準

  1. 出題通りに正しく動作するか(動作すること)
    Web予選問題にはかならず答えが存在します。
    答えが正解であること、プログラムが正しく動作することをKLab現役技術者が審査します。

  2. 計算量が考慮されていること(性能が高いこと)
    プログラムの性能が高いことを審査します。
    例えば…与えられるデータが無尽蔵に増えてもスケールすることを考慮するなど。
    本質的ではありませんが…極々接戦になった場合には最終提出時間を考慮する場合がありますので
    ご了承ください。

  3. コードのエレガントさ
    ソースコードから計算アルゴリズムが容易に理解できることも重要です。
    アルゴリズム、データ構造、CODE GOLF等、工夫している点をコメントなどで解説を書いていただき
    アピールしてください。
    ※問題によっては特定のライブラリを利用してはならないなどの規定が追加されることがあります

審査基準は、上記3点を総合的に見て審査いたします。
決勝の回答発表では、工夫したところを是非自慢してください。その内容に対して審査員から技術面での
フィードバックを行わせていただきます。

審査員

KLab株式会社
代表取締役社長 真田哲弥
最高技術責任者 仙石浩明
KLab若手エンジニア http://lab.klab.org/young/

使用言語について

以下の言語を選択可能とします。
PHP、Ruby、Python、Perl、C、C++、Java
(バージョン等の詳細情報はWebで確認してください)

予選例題の1つ

以下の文字列はUTF-8を文字エンコーディング形式とする16進数のバイト列である。 UTF-8でエンコーディングされた
文字列として解析した場合、この文字列の【文字数】を答えなさい。
e4bba5e4b88be381aee69687e5ad97e58897e381af5554462d38e38292e69687e5ad97
e382a8e383b3e382b3e383bce38387e382a3e383b3e382b0e5bda2e5bc8fe381a8e381
99e3828b3136e980b2e695b0e381aee38390e382a4e38388e58897e381a7e38182e3828be38082
※補足
なお、UTF-8では1バイト目の上位ビットを見ることで、その文字が何バイトの文字かがわかる。
2進数表記した場合以下のようになる。
-1バイト目の上位ビットが「0」 1バイトの文字
-1バイト目の上位ビットが「110」 2バイトの文字
-1バイト目の上位ビットが「1110」 3バイトの文字
例:
("b"は1または0)
1バイト文字:
0bbbbbbb
2バイト文字:
110bbbbb 10bbbbbb
3バイト文字:
1110bbbb 10bbbbbb 10bbbbbb