動作仕様 - ShopOne/Shitforces GitHub Wiki

〇〇は出来る、△△は出来ないと言った仕様について記述しています。 これに反した動作をしていた場合は、指摘して頂いたりissueを建てて頂いたり、修正をしてくれると嬉しいです。 また、権限回りで何か追加されたらここに書きます。

コンテスト

コンテスト作成

コンテストの作成はAdminのみが行えます。それ以外は行えません。

コンテスト編集

コンテストの編集は、そのコンテストの Coordinator のみが行えます。 行える編集は、コンテスト説明文、ペナルティ、問題の追加、削除、得点変更、答え変更、問題文変更、形式(Quiz)変更です。 コンテスト開始以降は、問題に関する編集は出来なくなります。 ただし、コンテスト中に一度も提出がなかったコンテストは過去問と見なされ、問題も編集可能となります。 Writer はコンテストの問題に関する編集のみが行えます(未実装)。

問題の閲覧、回答提出

回答の提出は、コンテスト開始前と開始後で異なります。 コンテスト開始前は、Admin かコンテスト関係者のみが閲覧、提出が行えます。 開始後は誰でも可能です。ただし、提出制限に引っかかっている場合は提出できません。

答えの閲覧

コンテスト終了前はAdmin かコンテスト関係者のみが閲覧できます。 終了後は、誰でも閲覧できます(現状web上で見るすべが無いので追加したい)

提出の閲覧

コンテスト終了前は、Admin とコンテスト関係者は誰のでも、それ以外は自分の提出のみ閲覧できます。 終了後は誰の提出も見ることが出来ます。(現状Web上で見るすべが無いので追加したい)

答えについて

答えは文字列を照合するだけですが、答えの所に:が含まれている場合はスペシャルジャッジとなります。 書式としては、"special:〇〇"となります。今の所は special:all のみ(全てAC)です。 正規表現などを追加予定です。

提出について

スペシャルジャッジで使う問題で、提出に:が含まれている場合はエラーを返しています。(ペナルティには加算されない)

ratedかどうかについて

ratedかどうかは、ratedBoundが0かどうかによって判定されます