プログラム採点の仕様変更について

はじめに

プログラムを提出して採点する系統の問題については、 あらゆるエラー・間違いが「Validation プログラムがエラーを出力しました」という メッセージに集約されていましたが、このメッセージは受講者に不親切でした。 そこで、間違いの原因をもう少し細かく表示するように改良しました。

メッセージの改良

提出したプログラムの動作効率が悪く、制限時間もしくは制限メモリー量を 使い果たした場合には "time limit exceeded (or memory limit exceeded)" という メッセージを出力するようにしました。

また、システム側のエラーの場合にはそのようなエラーメッセージが出るように 変更をしています。提出したプログラムが Python プログラムの場合には 文法エラーも検出して表示することができるようになっています。

制限時間や制限メモリーサイズは問題ごとに個別に設定されていますが、 中級者が自然なプログラムを書いたときのおおむね10倍程度に閾値が 設定されていますので、制限時間オーバーの場合には確実に良くない 書き方をしているので書き直しが必要です。

制限

制限時間とメモリー量のどちらをオーバーしたのかを正しく判定するのは 技術的にかなり面倒なので区別はありません。

また、閾値が緩い関係上、書き直した方が良いひどいプログラムを全て 検知できるわけではありません。