-
以下のコマンドでサーバーを起動 procon-server_win -c input.json -l :8080 -start 10s
-
以下の
以下のような設定ファイルをinput.jsonというファイル名として/procon-serverディレクトリに挿入する(されている)。
{
"teams": [
"token1",
"token2",
"token3"
],
"duration": 300,
"problem": {
"board": {
"width": 6,
"height": 4,
"start": [
"220103",
"213033",
"022103",
"322033"
],
"goal": [
"000000",
"111222",
"222233",
"333333"
]
},
"general": {
"n": 2,
"patterns": [
{
"p": 25,
"width": 4,
"height": 2,
"cells": [
"0111",
"1001"
]
},
{
"p": 26,
"width": 2,
"height": 2,
"cells": [
"10",
"01"
]
}
]
}
}
}
teams にはチームのトークン情報を記述します。
duration には試合時間を秒で記述します。
problem には問題の情報を記述します。problemの形式については募集要項を参照してください。
プログラムのlistenするポートはデフォルトでは 3000 番ですが -l :8000 のように実行時の引数に渡すと使用するポートを変更することができます。 または環境変数 PORT によっても指定できます。その際には PORT=8000 のように指定してください。
サーバーを起動させるには、/procon-serverにディレクトリを移動させ、以下のコマンドを実行させる。
procon-server_win -c input.json -l :8080 -start 10s
これを実行させても何も表示されないままであるが、それで大丈夫である。
/problem にtokenをつけてGETリクエストを送ることで試合情報が取得できます。
試合時間内であれば設定ファイルで記述したproblemが返却されます。
curl -v localhost:8080/problem -H "Procon-Token: token1"
/answer にjsonをPOSTすることで回答を送信できます。
回答の形式については募集要項を参照してください。
テストで実行する場合は、以下のjsonファイルをカレントディレクトリに置いた状態で下のcurl ...というコマンドを実行してください。
{
"n":3,
"ops":[
{
"p":4,
"x":1,
"y":1,
"s":2
},
{
"p":11,
"x":3,
"y":-12,
"s":3
},
{
"p":25,
"x":3,
"y":3,
"s":0
}
]
}回答が受理されるとrevisionという回答を受け付けた番号が返却されます。
curl -X POST -H "Content-Type: application/json" -H "Procon-Token: token1" localhost:8080/answer -d @solution.json