(2018年7月掲載)
第30回国際情報オリンピックは、9月につくば市で開催!
オリンピック、ワールドカップ、世界選手権…様々な競技のトップがしのぎを削る大会は、ワクワクしますよね。スポーツのオリンピックと同じように、サイエンス分野にもオリンピックがあります。世界中の中学生・高校生を対象とした、「国際科学オリンピック」です。数学、物理、化学、情報、生物、地学、地理の7つの分野で毎年国際大会が開催され、各国の代表選手が各分野の難問中の難問に挑みます。
日本からも毎年国内選抜を勝ち抜いた選手が出場し、昨年イランで開催された第29回国際情報オリンピックに出場した日本チームは、金メダル3個(うち1人は個人得点世界1位)、銀メダル1個と代表選手4人全員がメダルを獲得。さらに、日本の国別順位はメダル獲得数・総得点ともに世界1位というすばらしい成績を収めました。
国際情報オリンピックメダリストに聞く プログラミングのススメ
世界の強豪を驚嘆させた日本チームのメンバーに、「プログラミングの極意」を教えてもらいました。これからプログラミングを勉強する時の参考にしてください!
◆個人得点世界一の覇者は、国際情報オリンピック4年連続&国際数学オリンピック2年連続金メダル!
高谷悠太さん 東京大学教養学部理科I類1年(出場時:開成高校3年)
◆解説を一切見ないで独力で考える練習が、終了3秒前の大逆転を生んだ!
川崎理玖さん 東京大学教養学部1年(出場時:筑波大学附属駒場高校3年)
◆友達と話す中から浮かぶインスピレーションが、発想のもとを作ってくれる
河原井 啓さん 東京大学教養学部理科I類1年 (出場時:筑波大学附属駒場高校3年)
◆化学オリンピック&地学オリンピックで金メダル、情報オリンピック銀メダルの達人が語る、サイエンスの極意!
坂部圭哉さん 東京大学教養学部理科I類1年(出場時:海陽中等教育学校6年)
国際情報オリンピックとは?
情報オリンピック日本委員会理事長の筧捷彦先生が説明してくださいました。
◆前回大会で、日本は国別対抗で最高位!
「国際科学オリンピック」は、仕組みとしてはスポーツのオリンピックと同じです。世界中の中等教育課程にある生徒(中学生・高校生)を対象にした科学技術に関する国際コンテストで、オリンピックを実施する各国のオリンピック委員会が、各国の代表となる選手を選考し、国際大会に送り出しています。トップクラスの人が競い合うことで、刺激し合ってレベルを高めたり、お互い顔見知りになること、そして開催国の文化に触れることが目的とされています。
国際情報オリンピックは、数学、物理、化学に次ぐ4番目の国際科学オリンピックとして1989年に始まりました。現在87か国が参加しています。各国から4人以内、全体で約300人が出場します。いずれも国内の予選を勝ち抜いてきた精鋭揃いです。
競技は、5時間で3問の問題を解くセットを2回行います。成績は個人に対して付けられ、上位12分の1に入った人に金メダル、その次の12分の2に入った人に銀メダル、その次の12分の3に銅メダルが授与されます。
日本は1994年の第6回大会の初出場から3回出場。その後しばらく欠場して、2005年の第17回大会からは連続出場しています。
連続出場するようになってからの日本の成績がこちらです。毎回約80か国が参加する中で、4人の選手のメダル獲得数・総得点を合わせた国別の順位(非公式)で、日本は常に10位台の前半をキープして、昨年のイラン大会では、ついに個人成績の1位を含めて国別でもトップとなりました。
◆世界大会出場までのステップ
国際情報オリンピック出場の選考は、前の年の12月中旬に行われる予選から始まります。予選はインターネットを使って行います。3時間で6問を解く形で行います。
参加者はプログラムを作成して、与えられた問題の答をそのプログラムで計算して出力します。
作成したプログラムが正しい答を出すかどうかをテストするためのデータが問題ごとに数個から20個くらい与えられ、これらのデータのうちのいくつに正しい答を出力したかで成績が決まります(ただし、問題ごとにプログラムの実行時間や使用メモリ量に制限が設定されています)。正しく動作するプログラムであれば、多少効率が悪いものであってもOKです。情報オリンピックで問われるのは、「数理的問題解決をプログラムによって行なう能力」です。単に暗記している知識や、ウェブのデザイン力やプレゼンテーションの優劣を問う問題は出題されません。
申し込みは10月からで、個人でも学校を通してもOKです。毎年全国で約1000人が参加します。予選の6問のうち、第1問と第2問は、プログラミングを始めたばかりの中学生でも、よく考えたら解けるレベルの問題ですので、気軽にチャレンジしてみてください。
この予選の成績で上位80人が選ばれ、翌年2月に東京近郊の会場に集まって本選が行われます。本選は、4時間で5題を解きます。本選になると予選のような易しい問題は出なくなり、相当な難問揃いです。
本選の成績の上位20人が、春休みの春季トレーニング合宿に臨みます。春季トレーニング合宿は1週間。世界大会と同じ形式で、5時間で3問を解きます。問題レベルも世界大会と同じです。これを4回行って、この中の成績上位の4人が世界大会に出場することになります。
こちらが予選、本選、合宿・国際大会の問題のレベルと出題範囲です。当然ながら、予選→本戦→春季合宿(国際大会)と進むにつれて難しくなり、出題の範囲も内容も大きく広がっています。
メダリストが解説! ここもポイント!~予選から世界大会まで
■日本情報オリンピック予選
年によって違いますが、自分の出ていた時(2016年度)は、3時間で100点の問題が6題あって、それを解くプログラムを競技の時間内に書き、それを手元で実行して問題を解き、その答えを提出するというルールでした。通過点を時間内に取れる実装力は求められていましたが、それ以上に、そもそもその問題を解くための知識・経験が求められていました。(河原井さん)
[2017年日本情報オリンピックの予選問題]
https://www.ioi-jp.org/joi/2017/2018-yo/index.html
■日本情報オリンピック本選
日本情報オリンピックの本選では、5つの問題が出題され、4時間の間に積み重ねた得点で競います。問題は難易度順に並んでおり、1問目が最も易しく(本選の参加者の多くが完答します)、5問目が最も難しいです(完答者は0~2人程度です)。各問題100点満点で、いくつかの部分点が設定されています。(川崎さん)
[2017年日本情報オリンピックの本選問題]
https://www.ioi-jp.org/joi/2017/2018-ho/index.html
■春季トレーニング合宿
5時間で3問を解きます。これを4日連続で行います。解答(プログラム)を提出するとすぐに採点され、試験中でも自分の得点がわかります。そのため、何度でも解答を提出することができます。 (坂部さん)
詳しくは、下記サイトをご覧ください。
[ルールなど]
https://www.ioi-jp.org/camp/2018/2018-sp_camp-rules.html
[問題一覧]
https://www.ioi-jp.org/camp/2018/2018-sp-tasks/index.html
■国際情報オリンピック
5時間で3つの問題が出題されます。基本的にはそれらの難易度はばらばらで、簡単な問題から難しい問題まで出題されます。しかし、難易度は違っても各問題の配点は一律100点なので、配点から難易度を予想することはできません。もちろんインターネットなどは使用禁止なので、様々なアルゴリズムを空で書けるように練習しておく必要があります。また、インターネット上に順位が公開されていますが、参加者は見ることができないので、コンテスト中は基本的に自分との闘いになります。(高谷さん)
[最近の国際情報オリンピックで出題された問題]
https://www.ioi-jp.org/ioi/problem_archive.html
第30回の今年はつくばで開催。世界の強豪たちが大集合!
過去の開催国がこちらです。第1回がブルガリアで開催されたのは、「情報オリンピックをやろう!」と言い出したのがブルガリアの先生だったからです。そして、順番にいろいろな国がホスト国を務めています。ほとんどが、ホスト国の夏休みに当たる期間中に開催されています。
2020年にスポーツのオリンピックが日本であるので、それまでにいろいろなオリンピックを日本でやろうということで、今年2018年の情報オリンピックは、9月につくば市で開催されます。今年は日本から2チーム、8人が参加します。
[第30回国際情報オリンピックのHPはこちら]
第31回アゼルバイジャン大会めざして、チャレンジしよう!
情報オリンピックの予選・本選の問題や、出場を目指す人のための講習会の情報は情報オリンピック日本委員会のサイトに掲載されています。興味がある人はぜひチャレンジしてみてください。
[情報オリンピック日本委員会のHPはこちら]
[参加方法などはこちら]
https://www.ioi-jp.org/howtolearn.html
第18回日本情報オリンピック [(JOI 2018/2019) :第31回国際情報オリンピック アゼルバイジャン大会へ派遣する日本代表選手を選抜する国内大会]のHPはこちら