7周年特集◊◇◇◇◇◇特集◊◊◊◇◇◇プログラミングコンテストについて
廣 田 豊 彦1

1 はじめに‑

19
9
0年 9月に，九工大がオールドドミニオン大学 (ODU) のプログラミングコンテストにはじめて参加することになったいきさつについて簡単に書いておきたいと思います．もう 3年以上も前のことで記憶が薄れかけていますし，当時コンテスト実施のためにやりとりした電子メールはもはや残っていません．

幸いなことに，コンテストの直前からコンテスト終了までの間の電子メールはハードコピーで残っていますので，それをもとにして記憶で補いながら整理してみたいと思います．
発端は ODUの Dr.Ov
erstreetが共同研究者として九工大飯塚キャンパスに 1990年の 6月から 8月まで，約 2カ月間滞在されたことでした．期間的に短く，またこちらの準備も十分ではなかったため，具体的な共同研究の成呆をあげるには至りませんでしたが，Dr.Overstreetとの交流はその後さまざまな発展がありました．プログラミングコンテストもその一つで，Dr.O
verstreetの仲介によってはじめて実現したものです．

r.Overstreetのすすめもあることでぜひなんとか参加したいと考えたのですが，コンテストせっかく D用にワークステーションを準備するのは困難でした．そこで，研究室などのワークステーションが利用可
能な学生ということに限定して，参加チームを募集することにしました．チーム構成は ODUでの条件とク同じで，原則として学綿学生 3人で 1チームを構成します．ただし，内 1名は大学院生でもよいということでした．学内，特に飯塚キャンパスでは，教育研究届に多数のワークステーションが導入されていましたから，そのような条件下でも参加可能な学生の数はかなりいるはずだと考えた次第です．もちろん本来は，多くの学生が気軽に参加できるようにするために，また参加者に平等な環境を提供するためにも，コンテスト用のワークステーションを準備し，そこにコンテスト環境をインストールすべきであったわけです．この点についてはのちほど詳しく説明します．
参加募集は情報科学センターの汎用機上で実現されていた学内 BBSに流しました．上で述べたような理由や，その他いろいろな事情であまり積極的に宣伝しなかったせいでしょうか，結局 BBSを見て参加申し, 2年生のチームだけでした．事前に飯塚のセンター技術込みをしたのは，戸畑の計算機工学コースの 1補佐員チームが参加することを確認していましたので，九工大からは 2チームが参加することになりました．
1情報工学部知能清報工学科，

hirot
a@ai.
kyutech.
ac.
jp

1
3

九州工業大学・情報科学センター
広 報 第 7号 1994.
5

7周年持集コンテストの問題作成や，解答の判定などはすべて ODU側で実施してもらうことにしましたが，それでも，参加者名簿の確認などの事前の連絡や．問題の配布や翻訳，コンテスト時間中の質疑応答の中継な
どのためにスタッフが必要です．そこで，センターの元技術補佐員の大学院学生に声をかけ，手伝ってもらうことにしていましたが．彼は研究室の行事のために，手伝いが不可能になりました．逆に，彼に一時的にせよ仲介役を依頼したことでかえって ODUとのコミュニケーションに遅滞が生じてしまいました．
そのような事情もあって，結局のところ，直前になって私（廣田）が一人で仲介役を務めることにしました．

2

コンテスト環境について一つずつ渡されるコンテスト用の IDでログインして，その制限された環境下で解答プログラムを作成し，cODUでは，ワークステーション上に専用のコンテスト環境をインストールします．参加者はチーム毎に審判へ解答を送ります．

i, Pascal/Cコンパイラ，ファイル操作のためのココンテスト環境下では，エデイタ emacsあるいは vp, rmなどしか使えません．たとぇばデバッガなどに類するユーティリティは利用できませマンド mv,cん．また，オンラインマニュアルはありませんし，日頃自分たちが利用しているディレクトリヘアクセスすることもできません．そのかわりに参考書やプログラムリストなど，ハードコピーの形であれば，どのようなものでも持ち込んでもよいことになっています．

199
0年当時，情報科学センターは汎用機で運用されていました．コンテストが実施されるのは，時差の関係で，土曜日の夜から日曜日の朝にかけてで，センターの汎用機は連用を停止している時間帯です．そ

間的余裕はありませんでした．センタースタッフがコンテスト開催に直接関わっていれば，なんとかなったかもしれません．

しかし，たとえそれが可能であったとしても，ワークステーションを用いて行われるコンテストに汎用機で参加するというのは，いろいろと無理な面があっただろうと思います．
情報科学センターにも研究用などの目的でワークステーションが導入されていました．また，各学科にも教育・研究用として多数のワークステーションが導入されていました．

しかし，それらのワークステーションにコンテスト環境を移植することは，時間的，あるいは人員的に無理でした．だからといって，自分たちの研究用のワークステーションを，そのままの形でコンテスト参加者に提供することもできません．そういった事情から，参加者が自分たちの利用できるワークステーションで作業するという前提でコンテストに参加してもらうことになった次第です．
コンテスト環境による制約に関しては，参加者にあらかじめ上で述べたような制約を伝え，それを自発的に守ってもらうことにしました．不明な点については，必ず事前に問い合わせをしてもらうということにしました．実際に戸畑チームからオンラインマニュアルが使えるかどうかの問い合わせがあり，ODU側から，オンラインマニュアルは利用できないという返答がありました．なお，このようなメッセージの交換は私が仲介して，日本語から英語へ，そして逆に英語から日本語への翻訳を行いました．
コンテスト環境では，解答は submitコマンドで審判のところへ自動的に送付されるようになっています14
九州工業大学・情報科学センター
広 報 第 7号 1
9
94.
5︒

れをコンテストのために運用するとなれば，それなりの手続きが必要だったと思いますが，そのような時

7周年特集が，九工大側では，解答を電子メールで ODUへ送ることにしました．九工大から ODUまで，電子メールがどのくらいの時間で届くのかはよくわかりませんでしたが，数分程度だろうということで，ほとんどハンディキャップはないものと考えました．また，コンテスト環境では他のチームの状況がオンラインで表示されますが，その情報についてはバッチ的に電子メールで ODUからこちらへ送ってもらうことにしました．

したがって，他のチームの状況についてはかなり情報が遅れることになりますが，それによってコンテストの勝敗が大きく影響されるとは思えませんでした．全員が一つの盤面でゲームをやっているわ
けではなく，各チームがそれぞれ独立に問題を解いているわけですから，他のチームの情報は単なる刺激の一つにすぎないわけです．

3｀
．
・、ー

コンテスト開始

いよいよコンテスト当日になりました．連絡の不備などもあって，参加チームやその電子メールアドレスの確認，コンテスト環境の確認など，いずれも直前に ODUとの電子メールのやりとりで行われました．九工大内部でも参加チームは戸畑と飯塚に分かれていましたので，メーリングリストを作成して，すべての連絡は電子メールで行いました．
コンテスト開始の約 2時間前に私の手元に ODUから問題が送られてきました．英語の問題をそのまま渡すことは，九工大の学生にとってはかなりのハンディキャップとなる可能性がありますので，一応日本語訳も作成することにしました．

2時間あればすべて翻訳できると考えていたのですが，コンテスト開始までにその他の連絡事項もいろいろとありましたので，すべての問題の翻訳が終了したのは，コンテスト開始から 1時間 30分を経過したときでした．問題の英語版は開始時にすべて同時に送り，日本語訳も最初の数問は直ちに送りましたので，それほど大きなハンディキャップにはならなかったと思います．
コンテスト開始までの間に，審判の間でも，問題に関して質疑応答が交換されました．私自身もある問
題の出力例に誤りを発見し，それがミスプリントであることを確認しました．
あれこれと連絡の電子メールが飛び交う中で，ODUからあと 10分でコンテストが開始されるという1時 56分のことでした．ところがそれから 10分以上が経過
メールが届いたのは，こちらの時間で午後 1して，午前 0時 10分になっても，コンテスト開始のメールが届きません．そこで何かのミスでメールが届0分をもって私の判断で，九工大側でのコンテストの開始を宣言しましかないのだろうと考え，午前 0時 1た．結果的にはこの判断は誤っていて，

ODUでは予定より 30分遅れの午前 11時 30分（日本時間午前 0時30分）にコンテストがスタートしたことが判明しました．幸いなことに，九工大側の参加者と ODU側の参加者は隔離された状態でしたので，｝L工大側の解答時刻に 20分を加算してもらうことによって ODU側と対等の条件になると考え，その旨を ODUの審判にも了承してもらいました．当然コンテストの終了0分早まることになりました．
も ODUよりは 2
いきなり最初からトラブルに見舞われたわけですが，その後はほぼ順調にすすみました．当初解答の正否が返ってくるまでにかなり時間がかかっていたようです．おそらく審判側の準備が十分に整っていなかったためだろうと思います．最終的な得点は正解を提出した時間でカウントされますから，審判にどれだけ時間がかかっても影響はありません．

しかし，実際には，正しいつもりで提出した解答が誤りとして

15

九州工業大学・情報科学センター
広 報 第 7号 1994.
5

7周年特集

返ってくることの方が多いわけですから，その誤りの判定が遅く返ってくることは，コンテストの進行にそれなりの影響があるはずです．
解答の判定についてもここで書いておきましょう．審判はプログラムの中身をチェックするわけではな
く，入カデータと出カデータの組をいくつか用意しておき，送られた解答プログラムがそれに合致するかどうかだけをチェックします．参加者へは正解であったかそうではなかったかだけが通知されます．どんな誤りがあったのかは知らされません．またどのような入カデータでテストするのかも公開されませんので，よほどの偶然でもないかぎり，審判が用意したテストだけが動作するようなプログラムを意図的に作成することもないと思われます．
飯塚チームは，問題 3に対してかなり自信を持って解答を提出したにもかかわらず拒絶されてしまい，
その結果，彼らは，テストの入カデータとして自分たちの予想外のものがあるのではないかという疑問を持ちました．そこで彼らは審判に「入カデータは正の数だけか？」という質間を出しました．コンテスト
中に参加者がこのような質問をすることは認められています．問題文中に「正の数Jと明示されていたのCですが，そこをあえて質問してみたわけです．それに対する審判からの返答は「入カデータに負の数や Oはない」というものでした．このやりとりの後，飯塚チームは解答を再検討したようで，コンテスト終了寵前に正解を提出することができました．

4 コンテストの結果
コンテストの進行状況はおよそ 1時間に 1回程度の頻度で ODUからこちらヘメールで送られてきました．コンテスト開始後 4時間 30分経過したときの成績では，戸畑チームが 2問正解で 1位，飯塚チームはストを終了しました．
から．

ODU側からもその旨のメールが届きました．前に述べたように，開始時間の違い

ODUの参加者はさらに 20分間コンテストを継続したわけですが，この点については特に問題は生じなかったようです．
九工大側のコンテストが終了しても， ODUではまだ続いていましたし，解答の受付が締め切られたとしても，終了直前に提出された解答の判定結果が出るまでに少し時間がかかるなどの理由で，すぐには最終結果はわかりません．

ODUからのメールでは，終了後 1時間以内には最終結果が出るとのことで，それまで待っことにしました．その間飯塚チームの学生と話をしたところ，終了間際に 2問の解答を提出したので逆転の可能性あり，とのことでした．のようになっ待望の最終成鎖が送られてきたのは．日本時間の午前 6時すぎのことでした．結果は表 1ていました．

Rankのところに順位が記されていますが， KIT Japan 24 （飯坂チーム）が 1位， KITJapan23 （戸畑チーム）が 3位となっていました．飯塚チームは，情報科学センターで技術補佐員としてアルバイトしている学生たちでしたから，それなりの成績をおさめてくれることを期待していました．一方，戸畑チームは 2年生 2人に 1年生という構成でしたから，私にとっては意外な好成績でした．もっとも，1度流しただけのニュースを見て積極的に参加してきたほどの意欲を持った学生たちでしたから，単に1, 2年生だからとか，全く面識がないからというような理由で彼らを低めに評価していた私が間違って16九州工業大学・情報科学センター
広 報 第 7号 1
994.
5︒

1問正解で 4位でした．その後新たな情報がないまま．日本時間で午前 5時 10分に，九工大側ではコンテ

7周年特集いたわけです．

表1：プログラミングコンテストの結果
School皿
Te
FlamingKiwi
ManilaMangos
MadHackers
HowardATheSleepers
BareEssentials
HamptonMasteroftheG
CKAJ2BRaga:muff
inRasta
P紅 ix
John
KIT‑Japan
KIT‑Japan

9‑T12345678Prob̲l Prob̲
2Prob̲
3+100+o+o+20+60+o+o+40+o+20 280+0+40+o 131+0+o+20+o+o01十0+o 1+o+140+o+o+2025+0+100+o+o+o+20+o+2034+0+o+o+20+o+o+20+60+o244+20 166+20+40270+4097+0 261+120，

101
11213
142324Prob‑
4 Prob点 Pr
ob‑
6 Time Rt Rank
10+o+o+o1
16 1116+06+o+o10+o+o+o2
80 1+20+o+o1
31 17+o+o+o238+02
38 18+o+o101 15+o+o+o10+o+o+o2
81 2256+02+o+o10+o+o+o10+o+o+o34 1
4+o+o+o10+o+o+o10+o+o+o4
50 2+603+o+o7
88 3
1+o+o+o゜゜ ，゜゜゜゜゜゜゜゜゜゜゜゜

5 おわりに199
0年 9月のプログラミングコンテストは，いろいろとトラブルもありましたが，結果的には成功し，そのうえ九工大の学生チームが優秀な成績をおさめました．

しかし，今後ともこのようなコンテストに対応していくためには，組織的な取り組みの必要性があることを強く感じました．コンテスト用のワークステーションを確保し，さらにコンテスト環境をインストールすることは，個人的な作業の範囲を越えます．

r

その当時から私の個人的意見としては，情報科学センターが中心となってコンテストを企画するのがよぃと考えていました．その後，情報科学センターのマシンが汎用機からワークステーションに置き換えられてから，ますますその思いを強くしました．諸般の事情でなかなかそれが実現するに至りませんでした

1993年）それが実現しました 2．昨年のコンテストは全面的にセンターのスタッフとが，ようやく昨年 (技術補佐員の尽力で実施され，私は横で見ているだけでした．センターの方々はいろいろとたいへんだったと思いますが，今後，九工大の国際交流行事の一つとして，継続的に実施されることを期待しています．

詳しくは，平成 5年度第 1
7同情報処理教育に関する研究会講演論文集の プログラミングコンテストのすすめ 'を参照

2

1
7九）￨
9
江業大学・情報科学センター
広 報 第 7号 1
994.
5