「プログラミングは精進」日本初開催の情報オリンピック日本選手団団長と副団長インタビュー

こんにちは。GameWith人材戦略部の牧野です。

みなさんは国際情報オリンピックを知っていますか?Ethereumの創設者、Vitalik Buterinも過去に参加した数理情報科学の力を競う国際的な競技プログラミングの大会です。世界中の若い優秀なプログラマーが集う情報オリンピックはどんな大会で、どんな人が活躍しているのでしょうか。

今年第30回を迎える国際情報オリンピックは初めて日本で開催されます。今回は日本選手団の団長を務める小倉拳氏と副団長の松崎照央氏へのインタビューを通して、国際情報オリンピックに参加する選手の裏側を聞いてみました。

Vitalik Buterinも参加した国際情報オリンピックとは

国際情報オリンピック(IOI:International Olympiad in Informatics)は世界中の若い学生が数理情報科学の問題解決能力を競う国際大会です。選手は20歳以下の学生・生徒で、世界約80の国と地域から集まります。1989年にブルガリアで第1回が開催され、今年で30回目。史上初の日本開催となります。

国際情報オリンピックでは与えられた問題を解決するためのアルゴリズムの設計力とアルゴリズムのプログラムへの実装力の2つが試されます。問題は実社会でも直面するような課題を模したものとなっています。選手は3問を5時間で解答し、それを2日間行います。

IOI 2018 JAPAN公式サイトより引用

選手は出される課題に対して最適な計算方法やアルゴリズムを設計して、制限時間内にそれをプログラムに開発・実装します。

国際情報オリンピックではプログラミング力はもちろんですが、問題を理解して解決するための発想力や思考力、分析力なども求められます。

国際情報オリンピックの選手に選出されるためには、日本であれば日本情報オリンピックに参加する必要があります。選考は大きく3つの段階があって、「予選」「本戦」「春季トレーニング」を経て4名の選手が選ばれる形となっています。(第30回の日本大会には、日本代表選手4名に加えて主催国枠の特別参加選手4名も参加します)

参加資格は「大会開催前年の9月から12月にかけて代表となる国の中等教育機関に在籍し、大会開催年の7月1日に20歳以下であること」とあり、日本においては国際大会開催年の4月1日時点で20歳未満である高校生以下を日本代表の選考対象としています。

日本選手団団長、副団長インタビュー

ここからは過去に選手として国際情報オリンピックに参加し、今年は選手団団長、副団長としてチームをリードするお二人のインタビューとなります。

IOI1
日本選手団団長の小倉拳氏(副団長の松崎照央氏はWeb会議システムから参加)

牧野:お二人が情報オリンピックに出場したきっかけを教えてください。

小倉:私の場合は中学校時代にパソコン部に所属していまして、情報オリンピックは無料で参加できるということもあり、部員がプログラミングの腕試しとして参加していました。中学3年生で本戦に出場、高校1年生で代表選抜合宿(春季トレーニング)、2年生ではじめて日本代表になりました。

松崎:僕は小学校の頃からプログラミングに触れていました。数学が好きだったので数学オリンピックについて調べていたときに情報オリンピックを知ったことがきっかけですね。数学に比べてプログラミング経験のある中高生は少ないだろうなと思って、情報オリンピックはいいところまでいけるんじゃないかと思い出場しました。

牧野:情報オリンピックの魅力は何でしょうか。

小倉:情報オリンピックを続けられた理由はアルゴリズムという分野が好きだったからですね。単純にアルゴリズムを考えたり作ったりすることが楽しいという感覚です。数学にはいろんな分野があるのですが、アルゴリズムはパズルのような楽しさがあります。ぷよぷよやテトリスのようなゲームが好きな人は向いているかもしれません。

松崎:僕が思うには面白くて役に立つところです。情報オリンピックの問題に挑戦すること自体が楽しいですし、その結果プログラミングやアルゴリズムの設計スキルが身につく点が魅力だと思います。

牧野:お二人の勉強方法はどのようなスタイルなんですか?
IOI2
小倉:競技プログラミングの世界ではよく「精進」という言葉を使うのですが、とにかく問題を解き続けるスタイルです。長期間やるというよりかは一点集中型で精進するようにしています。会津大学が運営するAIZU ONLINE JUDGEというサービスにプログラミングの問題が載っていて、ひたすら解き続けます。問題を読んで、考えて、わからなければ解答を参照する。そうすることで問題の解き方を覚えていきます。それをひたすら繰り返していたら本戦には出られるようになりました。

松崎:僕も小倉さんと同じく精進するスタイルです。僕の場合、学校の部活の先輩が情報オリンピックに出場していたので、直接教えてもらうことができたのも大きかったですね。情報オリンピックのようなコンテスト形式で問題を解くことで、プログラミングや設計を行うときに「ここが難しくなりそうだな」と勘所を掴むスピードが速まるようになっていきますね。

牧野:アルゴリズムの設計力、プログラミングの実装力はどのように身につけたのですか?

小倉:アルゴリズムに関しては「プログラミングコンテストチャレンジブック」という競技プログラミングのバイブル的な本がありまして、これを読破することで身につきます。といってもなかなか読破できないのですが。読破する過程でアルゴリズムのいろはを学び、実装については繰り返しですがひたすら精進あるのみだと思っています。

松崎:僕はそれに加えてインターネットにアップされている過去の選手の解答スライドをよく読みましたね。プログラミングについては精進することはもちろん、楽に実装する方法はないかと色々と試すことも大事だと思います。

牧野:日本で初開催の情報オリンピック頑張ってください。最後にこの記事を読んでいる方にメッセージをお願いします。

小倉:テストの時間が始まると問題がインターネットで公開されます。プログラミングやアルゴリズムに関心のある方がいらっしゃればぜひ一緒にチャレンジしてみてほしいです。

松崎:解答の結果はリアルタイムで採点され、ランキングもネットで見ることができます。日本からは8名の選手が出場するので是非応援してほしいです。

牧野拓也
人事部所属、GameWith Magazine編集長。1989年生まれ、愛知県出身。2018年3月より現職。
GameWithで一緒に働きませんか?
「ゲームをより楽しめる世界を創る」ために
あなたもGameWithのメンバーになりませんか?
GameWith Magazineの
SNSと繋がろう!

RELATED POST

KEYWORDS
注目のキーワード

  • DApps
  • DAppsゲーム
  • Ethereum
  • GameWithからのお知らせ
  • GameWithメンバー
  • Loom Network
  • Meetup
  • Web3.0
  • インタビュー
  • エンジニア
  • エンジニアのキャリア
  • ゲーム開発
  • スライドまとめ
  • ピアボーナス
  • プログラミング
  • ブロックチェーン
  • ブロックチェーンゲーム
  • レポート
  • 動画まとめ