Rimeの使い方 誤答の区別とHackerRank用の出力方法について

この記事では作問補助ツールRimeの使い方のうち、誤答の種類を区別する方法とHackerRank用のzipファイルの作り方を解説します。 その他の情報が欲しい方は、下記の記事と公式ドキュメントを読みましょう。ほとんどのことが書かれています。

f:id:matsu7874:20190821005037p:plain f:id:matsu7874:20190821005524p:plain
誤答の区別とHackerRank用の設定

誤答の種類(TLE, WA)を区別したい

Rimeは想定誤答をACしないことを確認するために、SOLUTIONファイルに challenge_case を設定することができます。

## Solution
script_solution(src='bruteforce.py', challenge_cases=[]) # shebang line is required

上記のように書くと、該当スクリプトが少なくとも1つ以上のケースでACにならないことを表明できます。
WAのみ、TLEのみという風に特定の結果になることを期待する場合は、 expected_verdicts に値を設定します。

TLE, ACのいずれかの結果になることを期待する場合は下記のように書きます。

## Solution
script_solution(src='bruteforce.py', challenge_cases=[]) # shebang line is required
expected_verdicts([TLE, AC])

※配列内は文字列ではなく、定数

HackerRank用の出力を得たい

デフォルトでは rime pack の結果としてAtCoder用の出力が得られますが、HackerRank用のzipファイルも作成可能です。

  1. PROJECTファイルで #use_plugin('judge_system.hacker_rank')# を外し、有効化
  2. rime pack 時に各問題ディレクトリの rime-out/hacker_rank 以下に hacker_rank.zip が作られる