開発
コンテストの裏側
beko
たった5時間で終わってしまうプログラミングコンテストは、しかし実は何週間もの長い準備期間を経て開催されます。どうしてそれほど時間がかかるのでしょうか?その理由は、問題作成の難しさにあります。
コンテストで出題される問題は、いろいろな条件を満たしている必要があります。まず最も重要な要件として、出題者が選手のプログラムが正しいかどうかを審判できなければいけません。出題者は問題と一緒に模範解答も作り、その解法が正しいことを証明し、かつ模範解答のプログラムが正しくかけているかどうか入念に確かめなければいけません。これは時間が掛かる上に難しい作業で、複数人で入念にチェックしたにもかかわらず、コンテスト中や終了後になって間違いが発覚することも珍しくはありません。しかし、コンテストを成立させるためには欠かすことの出来ない要件です。
難易度の設定もコンテストの面白さを大きく左右します。簡単な問題ばかりでは選手は退屈しますが、かといって難しくしすぎると、誰にも解かれないどころか見向きもされない問題が数多く残されます。また簡単すぎても難しすぎても選手の実力差が結果に表れにくく、この調整も出題者の腕の見せ所です。
プログラミングコンテストは、参加者が己の技術を競うために行われるものです。しかしその一方で、出題者もまた面白い問題を作る技術があるかどうか試されてもいます。
<宣伝> さて、会津大学の某プログラミングサークルでは、3月28日にプログラミングコンテストを開催します。面白い問題を用意して待っていますので、腕に自信のあるプログラマは是非参加してみてください。 </宣伝>
担当:田山(職権乱用)