外部サイトへ移動します

リンク先の URL を確認してから開いてください。

別タブで開く

SHAREOJ GUIDE

問題の作成と公開

問題文とテストケースを用意して保存し、条件を確かめてから公開します。

作問画面を開く

ヘッダーの作成メニュー。①作成、②新規問題

ログインしてから、ヘッダーの①「作成」で②「新規問題」を選びます。

作問画面。サイドバーの①問題文から⑥問題管理までと、⑦保存

サイドバーの①〜⑥で編集する項目を切り替えます。

項目 設定する内容
①問題文 タイトル、難易度、実行時間制限、メモリ制限、タグ、本文
②テストケース 採点に使う入力と期待される出力
③生成・検証・判定 テストケースを作るコード、入力の検証、判定方法
④採点 一括採点か部分点採点か
⑤解説 問題ページの「解説」タブに表示する文章
⑥問題管理 公開できるかの確認、テスターの招待、リジャッジ、問題の削除

問題文と設定

本文と解説はMarkdownで書きます(Markdown と数式の書き方)。 難易度は難易度の目安を参考に選んでください。

項目 範囲
タイトル 120文字まで
本文、解説 それぞれ100,000文字まで
実行時間制限 100〜5,000ミリ秒(100ミリ秒単位)
メモリ制限 64〜512 MiB
タグ 5個まで

テストケース

テストケースの画面。①ファイルから一括追加、②サンプルケースにする、③サンプルを問題文に追加

①で、手元のファイルをまとめて登録できます。 ②を有効にしたケースは、解く人の「サンプル検証」で使います。 ③を押すと、サンプルケースの入出力を本文に書き足します。

テストケースをコードで作る方法は、入出力生成と入力検証の使い方で説明しています。

部分点

採点の画面。①採点方式、②集計コードで採点する、③グループの名前と配点、④グループを追加

「採点」の①で採点方式を選びます。 「一括採点」は、すべてのケースでACなら満点で、部分点はありません。 「部分点採点」は、ケースをグループに分け、グループの得点の合計を提出の得点にします。 グループの得点は、属するケースがすべてACなら配点、そうでなければ0点です。 ②「集計コードで採点する」をオンにすると、集計コードがケースの判定と点からグループの得点を決めます。

③でグループの名前と配点を決め、④でグループを足します。 満点は配点の合計で、1〜1,000,000点にします。 ケースは「テストケース」の「所属するグループ」で選び、複数のグループに入れられます。 コンテストに入れた問題は、開始後に採点方式、集計コードで採点するかどうか、グループの名前・配点・順番を変えられません。

保存する

公開も公開予約もしておらず、コンテストにも登録していない問題は、編集すると自動で保存します。 保存しても、問題は公開されません。 保存した問題は、マイページの「自分の問題」から開けます。 公開中・公開予約中の問題とコンテストに登録した問題は自動では保存せず、「保存」(作問画面の⑦)を押した時点の内容が公開内容や予約内容、コンテストの出題内容に反映されます。

新しい問題を初めて保存するときに、作成枠を1件使います。 作成枠は最大20件で、2時間ごとに1件ずつ回復します。

公開できるかを確かめる

問題管理の状態。①判定の結果、②足りない項目を開くボタン

「問題管理」の①「状態」に、保存済みの内容で公開やコンテスト、定期便に出せるかを表示します。 足りない項目は、②のボタンから開いて直せます。

公開、コンテスト、定期便のどれに出すときも、同じものが必要です。

  • タイトルと本文
  • 難易度
  • テストケース1件以上
  • 解説
  • スペシャルジャッジかインタラクティブでは、ジャッジで使える言語の判定コード
  • 部分点採点では、グループ1つ以上、各グループにケース1件以上、サンプル以外のすべてのケースの所属。集計コードで採点するなら、ジャッジで使える言語の集計コード

公開中・公開予約中の問題と、結果が確定する前のコンテストに入っている問題を保存するときにも、これらが必要です。

公開する

エディタの「公開・応募」で開く、①問題を投稿と②定期便に応募

保存した問題は、エディタ上部の「公開・応募」から出せます。 ①「問題を投稿」で投稿ページを、②「定期便に応募」で応募ページを開きます。 足りない項目があるときは、選べない理由を表示します。 問題一覧の「問題投稿」からも、投稿ページを開けます。

投稿ページの①問題、②公開のタイミング、③投稿する

投稿ページで①問題と②公開のタイミングを選び、③「投稿する」を押します。 投稿できない問題は、「投稿不可の問題を隠す」で一覧から外せます。 ②で「日時を指定」を選ぶと、保存済みの内容を、指定した日時に公開します。 予約したあとも、編集画面で「保存」を押すと、問題文・解説・採点設定が予約の公開内容に反映されます。 予約中は自動保存されません。 公開条件を満たさない内容は保存できず、直前に保存した内容と公開日時が維持されます。 公開日時を変えるには、投稿ページで「予約を更新」してください。 予約は「予約を取り消す」で取り消せます。

コンテストに登録した問題は投稿できず、コンテストの終了後に自動で公開します。 定期便に応募中の問題は、今すぐ公開すると応募が取り下げられ、予約はできません。 公開する前でも、作者とテスターは問題ページから提出できます。

公開したあと

公開中の問題を編集して「保存」すると、すぐに公開内容に反映します。 受け付け済みの提出の結果は変わらないので、新しい内容で採点し直すにはリジャッジしてください。

問題管理の①非公開に戻すと②問題を削除

「問題管理」の①で非公開に戻し、②で問題を削除できます。 一度公開した問題は、非公開に戻しても定期便には応募できません。 コンテストに登録した問題は削除できません。

リジャッジする

テストケースや判定方法を直したあと、受け付け済みの提出を保存済みの内容で採点し直せます。 先に「保存」してください。

問題管理の①すべてリジャッジ

「問題管理」の①「すべてリジャッジ」は、この問題へのすべての提出が対象です。

すべての提出の一覧。①提出のチェックボックス、②リジャッジ

「すべての提出」「自分の提出」では、①で選んだ提出だけを②でリジャッジできます。 提出結果の画面の「この提出をリジャッジ」は、その提出だけが対象です。

採点中の提出、サンプル検証、現在使えない言語の提出は対象外です。 件数が多いと、終わるまで時間がかかります。

テスターを招く

問題管理のテスターリンク。①リンクを発行、②リンクをコピー

「問題管理」の①で招待リンクを作り、②でコピーします。 リンクを開いた人が「許可する」を押すと、その問題のテスターになります。

テスターは、非公開の問題文、解説、テストケースを閲覧し、提出できます。 問題の編集、削除、リジャッジ、非公開に戻す操作と、自分のコンテストへの登録もできます。 公開と公開予約、定期便への応募は、作者だけができます。

公開したコンテストに入った問題は、そのコンテストの作成者も結果が確定するまで編集できます(共同作成者)。

解説とユーザー解説

作問画面の「解説」に書いた文章は、問題ページの「解説」タブに表示します。

ほかのユーザーが記事の「解説する問題」にこの問題を指定すると、その記事が問題ページの「ユーザー解説」に並びます。 ユーザー解説を付けられるのは、解説が公開されている問題だけです。