「競技プログラミング」という青春 「開成―東大」天才学生たちの世界への挑戦

国内 社会

  • ブックマーク

 近頃、教育現場や就職試験にも導入されるようになった「競技プログラミング」。パソコンにコードをプログラミングする技術を争う頭脳競技だが、この勝負に青春を捧げてきた学生がいる。東京大学医学部4年生の伊佐碩恭(ひろたか・22)さんだ。彼は今年、2人の仲間と共に大学対抗の世界大会に挑戦する。

 ***

甲子園のような夢舞台

「国際大学対抗プログラミングコンテスト(ICPC)」。伊佐さんが挑む世界大会の名称だ。同じ大学の学生3人でチームを作り、世界の強豪大学とプログラミングの技を競う。毎年100カ国以上の約3000大学が挑戦するが、国内予選、地区予選を通過し、決勝に進めるのは約130チームだけだ。

 伊佐さんたちが勝ち上がったのは2019年の大会で、本来ならばファイナルは昨年6月にモスクワで行われる予定だった。だが、コロナ禍の影響で延期になったままだという。伊佐さんが語る。

「まだどうなるかわかりません。オンライン開催の可能性もある。けど、できることなら、世界の強豪が一堂に集う会場で戦ってみたいです。毎年、決勝はネットで生中継され、世界中の競プロ愛好家がリアルタイムで視聴します。僕も中高生の頃からそれをずっと観てきて、いつかここで戦いたいと憧れていました」

 競プロを続けてきた彼らにとって、ICPCファイナルは“甲子園”のような夢舞台だというのだ。

東大内でも繰り広げられる“代表争い”

 東大は強豪校として知られる。このコンテストでは1位から4位までに「金メダル」が与えられるが、東大は1998年からこれまで4回金を獲得してきた(最高位は3位)。各大学1チームしか決勝に参加できない規定があるため、毎年、代表の座をかけて東大内でも熾烈な争いが繰り広げられるのだ。伊佐さん自身も大学1年から仲間らと挑み続けるも、東大内のライバルに阻まれ、毎年、涙を飲んできた。

 3度目の挑戦にしてようやく掴んだ世界への道。狙うは優勝か? 伊佐さんは苦笑してこう答える。

「本当はそう言い切りたいのですが、世界大会となると強豪ばかりです。マサチューセッツ工科大学、モスクワ大学、ソウル大学など、実績のあるライバルたちと戦わなくてはいけません。もちろんやるからには狙いますが、とりあえず4位までの金メダルを目標に据えています」

 彼らはいったいどのようなレベルで戦っているのだろうか。2019年アジア地区予選で出題された問題を見てみよう。

〈アンダーソン氏は昔の映画をよくレンタルする。何回も観賞しているので、彼は好きなシーンが始まるタイミングを完璧に覚えられるようになった。できるだけ早くそのシーンに行くために、プレイヤーで何秒早送りすればいいのかを知りたい。

「再生」ボタンを押すと通常の速度でビデオが再生される。「3倍」ボタンは3倍の速度で、「1/3倍」ボタンはその時点での再生速度を1/3にする。どちらの速度調整ボタンも、押してから1秒後にその効果を発揮する。(中略)さて、希望のシーンが始まるまでに、これらのボタンを使って、最短何秒で再生できるだろうか。もちろん、該当のシーンは通常速度で再生するものとする〉

 質問の意図すら頭に入らない人がほとんどであろう。

 このような問題を解くために必要なのが「アルゴリズム」と呼ばれる問題解決の方法だ。アルゴリズムが分かったら、それを実行する「コード」をパソコンに打ち込み、正しい答えが導かれたら正解となる。ICPCでは、このような難問が十数問出題され、5時間の制限時間内にどれだけ速く多くの問題を正解するかが競われる。

次ページ:小3で高1の過程が修了した公文

前へ 1 2 3 次へ

[1/3ページ]

メールアドレス

利用規約を必ず確認の上、登録ボタンを押してください。