KLab(クラブ)株式会社主催「天下一プログラマーコンテスト」

「2009年学生版 天下一プログラマー」は盛況のうちに終了しました。
ご参加いただき本当にありがとうございました。

更新情報

2009年10月21日  天下一プログラマー結果ページを公開しました。
2009年8月3日  本年の大会は終了しました。ご参加いただき本当にありがとうございました。
2009年7月26日  Web予選はすべて終了しました。ご参加いただき本当にありがとうございました。
2009年7月24日  募集は締切りました。たくさんのご応募本当にありがとうございました。
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まで受け付けます。

2009年7月24日(金)18:00で募集は締切りました。 たくさんのご応募本当にありがとうございました。

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予選はすべて終了しました。ご参加いただき本当にありがとうございました。

決勝戦

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

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

本年の大会は終了しました。ご参加いただき本当にありがとうございました。

審査基準

  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