プログラミング・コンテストでは、ACM/ICPCという大学対抗戦が世界で最も有名なコンテストで、国内戦では毎年200チームが参加するが、そのうちまともなプログラミングが書けて、実質的な競争に参加できるのは、上位10チームぐらいで、あとの190チームはワンランク下で、まともな競争相手にならない。
上位10チームにしても、上位2チームぐらいが世界大会にやっと出場資格が得られるというレベルで、その2チームも世界大会に出ると、中国やアメリカなどのチームにコロリと負けてしまうレベルなのだという。
こういう話は事実に基づかないといけないので知り合いに聞いたここ10年間にICPC世界大会に出場した大学の一覧。
- 1998(オランダ)
- 1999(オーランド)
- 2000(バンクーバー)
- 京都大学(出場資格:つくば大会4位、日本チーム中1位)14位タイ/64チーム
- 1位:St. Petersburg University(ロシア)、2位:Virginia Tech(アメリカ)、3位:St. Petersburg Institute of Fine Mechanics and Optics(ロシア)
- 2001(ハワイ)
- 2002(ビバリーヒルズ)
- 2003(プラハ)
- 2004(上海)
- 2005(サンアントニオ)
- 2006(東京)
たしかに世界大会に出場しているのは年間1〜2チーム。Wikipedia.jaによれば以下のとおり5校だけ。
過去に世界大会まで進出した日本の大学は、京都大学7回、東京大学5回、東京工業大学2回、早稲田大学1回、埼玉大学1回。このうち、日本チームで過去最高成績は2000年の7位タイである。世界大会が日本で開催されるのは、2007年が初となる。
世界大会の成績でいえば、ロシアにばっさりとやられている気がする。
アジア地区予選 日本大会からの世界大会への出場枠は基本的に1校。なので、優勝チームがその枠をとる(世界大会出場は1大学1チームしか出場できないので大学単位で決まる)。ACMから追加枠が来ることもあるそうな。ここ数年のアジア地区予選 日本大会には海外からチームがやってきて優勝をかっさらっていくことが多い。
- 1999年京都大会結果:Tsinghua University (China)
- 2000年筑波大会結果:Yonsei University (Korea)
- 2001年函館大会結果:Fudan University (China)
- 2002年金沢大会結果:Zhejiang University (China)
- 2003年会津大会結果: Zhejiang University (China)
- 2004年愛媛大会結果:Shanghai Jiaotong University (China)
- 2005年東京大会結果:Shanghai Jiao Tong University (China)
- 2006年横浜大会結果:Shanghai Jiao Tong University(China)
上海交通大学(Shanghai Jiao Tong University)に草狩場にされてしまっている。一方で、日本のチームも他のアジア大会に参加してそこで世界大会出場枠を得ていることが多い。
ワールドカード枠がなくなった今現在2チーム以上出すためには
- アジア地区予選 日本大会で優勝する
- 他の地区予選で高順位に入る(1〜3位)
ただし、普通は日本大会でだめだったから他の地区大会へ参加するだろうと思われるので日本大会よりも開催日程が後の大会にしか参加しないと思われる。なお、ACM/ICPC日本支部は日本のレベルアップのためにいろいろとがんばっており、その一環として日本大会で好成績を収めたチームに対して海外の他の地区大会へ参加する渡航費用を援助している。
この状況を考えると世界大会に1〜2チームしかでていないというのはネガティブな結果とはいえないような気が。むしろ2チームでている年はよくがんばっており、3チームでた今年なんて大成果の年ではないかと思う。本当は、国別の参加状況を調べるべきなんだろうけど数えるのが面倒なので誰か他の人にお任せしたい。
まとめ、引用した部分に関して事実からいえば大筋でそれほど間違っていない。
- ただし、世界大会への出場チーム数が1〜2というのはそれほどネガティブな結果ではない
- 世界大会で上位陣にはまだ食い込めていないが、順位なし(問題が解けない)というのはなくなりつつある
- ICPCをネタにプログラミング能力の話をするというのはちょっと微妙。むしろプログラミング能力はあがっているように思う(世界大会への参加チーム数、世界大会の順位から)