ふわわあのへや競プロとか、好きなこと、いろいろ。

3. 問題作成ガイド

問題作成には管理者の許可が必要です。管理者に連絡してください。

問題は次の形式のZipファイルをアップロードすることで行います。

  • /
    • main.md (問題文)
    • editorial.md (解説)(任意)
    • in/
      • testcase1.txt
      • testcase2.txt
      • ...
    • out/
      • testcase1.txt
      • testcase2.txt
      • ...
    • tcsets.json
    • judge.cpp(任意)

markdownにはh1(レベル1見出し)を使用しないでください。問題ページの最初に自動で挿入されています。

また、tcsets.jsonは次の形式を持ちます。

[
  {
    "name": "testcaseset1",
    "point": 0,
    "problems": [
      "sample1.txt",
      "sample2.txt"
    ]
  },
  {
    "name": "testcaseset2",
    "point": 0,
    "problems": [
      "sample1.txt",
      "sample2.txt",
      "sample3.txt",
      "sample4.txt"
    ]
  }
]

judge.cppは以下の仕様に沿って作ってください。

  • 標準入力は提出プログラムの出力とつながる。
  • 標準出力は提出プログラムの入力とつながる。
  • 引数を2つとり、
    • argv[1]は入力ファイルへのパス
    • argv[2]は出力ファイルへのパス
    • tcsets.jsonにあるファイル名であるので、ファイルが存在する必要はない。
  • 標準エラー出力はジャッジ結果を出力する。
    • ACで始まる文字列を出力すればAC
    • そうでなければWA
  • 入力がEOFとなったとき、期待されたEOFでなければただちにWA判定を出して終了する。
    • さもなくばIE判定となります。
  • 終了コードは0であること。
  • 出力はflushすること。
  • コンパイルはGCC(C++14)で行われる。