照りつける太陽、飛び散る汗、宙を舞う白球、響き渡る金属バットの音──。甲子園といえば春と夏の高校野球が有名だが、実は秋深まる11月に、電脳界でも高校生を対象としたコンテストが開かれているのをご存知だろうか。
今年も福島県会津若松市にある会津大学で開催された |
全国高等学校パソコンコンクール実行委員会は11日と12日の2日間に渡り、“第4回 全国高等学校パソコンコンクール”、通称“パソコン甲子園2006”を福島県の会津大学にて開催した。
このコンテストの競技は大きく分けて2つある。1つはプログラミングを制限時間内に作る“プログラミング部門”、もう1つはテーマに沿ったデジタル作品を事前に提出してプレゼンテーションを行なう“デジタルコンテンツ部門”だ。また、今年から1枚のCGを作成する“いちまいの絵CG部門”が新設された。
大会運営委員によれば、今年は43都道府県の486チーム/1307名の高校生/高等専門学校生から応募があったという。プログラミング部門とデジタルコンテンツ部門で予選を勝ち抜いた40チーム/80名の精鋭が会津若松市に集まり、本選でその腕を競った。
11日に開催されたのはプログラミング部門だ。2人1チームで1台のパソコンを使用し、4時間の制限時間内に15の問題を解くプログラムを作成するという競技で、25チーム/50人が参加した。
12日にはデジタルコンテンツ部門が行なわれた。“××ロボット、○○くん!”というテーマに基づいてウェブブラウザーで鑑賞できる作品をつくり、そのタイトルに含めた思いや主張をプレゼンテーションするというもので、こちらは15チーム/30人が参加した。大会の結果は以下のとおり(“”内はチーム名)。
プログラミング部門
- グランプリ
- 三重県・高田高等学校 “Integral (インテグラル)”
- 準グランプリ
- 福岡県・久留米工業高等専門学校 “Fate (フェイト)”
- 第3位
- 東京都・海城高等学校 “C# WARRIORS (シーシャープウォーリアーズ)”
- 矢沢久雄賞
- 愛知県・愛知工業大学名電高等学校 “アマチュア無線部”
デジタルコンテンツ部門
- グランプリ
- 愛知県・愛知工業大学名電高等学校 “情報デザイン”
- 準グランプリ
- 愛知県・愛知工業大学名電高等学校 “情報デザインB”
- 第3位
- 大阪府・大阪府立芦間高等学校 “芦間パソ”
- 松本零士賞
- 沖縄県・沖縄県立那覇工業高等学校 “流王(りゅうおう)”
若き天才プログラマーの“秘策”に注目!!
プログラミング部門の競技中の様子 |
2つの部門のうち、筆者が取材したプログラミング部門を詳しくお伝えしよう。プログラミング部門では、設問の難しさによって10/20/30/40/50点と異なる得点がつけられており、制限時間内で獲得した合計得点で順位が決まる。
大会で使える言語は、C/C++/Java/Visual Basic .NETの4種類。参考書の持ち込みや、チームの2人で話し合うことも可能だ。
競技はスタートしてから4時間、ひたすらパソコンに向かって設問を解いていくというもの。といっても、問題を解いたチームの机の脇には得点に応じた色の風船が置かれ、会場正面のスクリーンに現在の合計点数が表示されるので、観客席から見ていてもどのチームが優勢なのかという情報は得られる。
スクリーンには、各競技者の回答順とその正誤を表したグラフも表示された |
競技者がほとんど動かず、会場もしんと静まっているので一見地味(?)にも思えるこの大会だが、実は水面下では高度な駆け引きが行なわれている。今回、常にトップを守り続けていたのが、グランプリを受賞したチーム“Integral”の片岡俊基くん(2年生)と古橋正樹くん(1年生)だ。
チーム“Integral”の片岡俊基くん(左)と古橋正樹くん(右) |
実はこの片岡くん、国際数学オリンピックにて2005年に金メダル、2006年に銀メダル、さらに国際情報オリンピックでも2006年に金メダルを受賞したという実力の持ち主なのだ。一方の古橋くんも東京工業大学のスーパーコンピューター上でプログラミングのアイデアを競う“SuperCon2006”に片岡くんらと一緒に高田高等学校の代表として出場し、準優勝を勝ち取った実績を持つ。
注目すべきは問題を解いていく順番で、ほかのチームが10点の簡単な問題から取り掛かる中、高い点数から挑戦するという戦術をとったようだ。序盤を見ていると、40点の黄色い風船が3つ、続けて50点の赤い風船が2つ置かれていった。
片岡くんによれば、「40点の1問目を解いて、50点の問題をざっと見たら難しそうだったので40点の問題から取り掛かった」とのこと。この辺、すべて計算ずくの行動だったようだ。
また、競技はチーム2人で取り掛かるわけだが、“Integral”では問題によって担当分けしていたという。プログラムのアルゴリズムを思いつく発想力はもちろんのこと、限られた時間でいかに効率よく得点するかという作戦も功を奏して、15問中14問を解くという偉業を達成できたのだろう。
スタート後2時間での得点(左)と、終了30分前の得点。“Integral”はP01、準グランプリの“Fate”はP24、3位の“C# WARRIORS”はP04となっている。ちなみに最終得点は“Integral”が450点、“Fate”が290点、“C# WARRIORS”が230点だ |
なお、そんな彼らでも回答できなかった問題が、Q14の“ルパン四世”という。次ページにその設問を掲載したので、現役プログラマーの方はぜひチャレンジしてほしい。また、運営員によれば大会のウェブページでは、後日、本戦の問題を掲載するというので興味のある人はこちらもチェックしてみるといいだろう。