Competitive Programming Team Maker
Jan 03, 2019: beta 版をリリースしました!
競技プログラミングのチーム分け補助アプリ
これは競技プログラミングのチーム分けをサポートする Web アプリケーションです。ユーザーの情報を入力として受け取り、以下のポリシーに基づきチームへの割当を返します。
- チーム間の実力差をできるだけ小さくする
- できるだけ所属が異なる参加者同士でチームを組む
- 過去のチーム分けで同じチームに属した組は、できるだけ異なるチームに属するようにする
CSV ファイルをインポート
CSV 形式のファイルをインポートし、ユーザー情報テーブルの入力時間を短縮できます。
以下の例で示されるような、「チーム ID, ハンドルネーム, AtCoder ID, 所属」がカンマ区切りで書かれている CSV ファイルを予め用意してください。下の「ファイルを選択」ボタンで CSV ファイルを選択し、「CSV をインポート」ボタンでその内容を表に反映させます。
CSV ファイルの例
A,tsutaj,,four-t
,monkukui,monkukui,ragan
B,rsk0315,rsk0315,four-t
A,waku,wakuwinmail,Megido
,TAB,TAB,four-t
B,tsukasa_diary,tsukasa_diary,
上記の CSV ファイルの意味
わかりやすく述べると、以下のようになります。
チーム ID | ハンドルネーム | AtCoder ID | 所属 |
---|---|---|---|
A | tsutaj | (なし) | four-t |
(なし) | monkukui | monkukui | ragan |
B | rsk0315 | rsk0315 | four-t |
A | waku | wakuwinmail | Megido |
(なし) | TAB | TAB | four-t |
B | tsukasa_diary | tsukasa_diary | (なし) |
- ハンドルネームは必須項目です
- AtCoder ID および所属は必須項目ではありません
- AtCoder ID を元にレート情報を取得するため、ID はできれば入力してください。情報がない人はレート 0 として扱われます。
- 所属は、できるだけ所属が異なる参加者同士でチームを組むために入力するものです。情報がない人はどこに割り当てられてもよいものとして扱われます。
- 同じチーム ID が割り当てられた人は、必ず同じチームに割り当てられます
- 上記の例では、次のような割り当てかたが適用されます
- "tsutaj" と "waku" は必ず同じチームに割り当てられます。
- "rsk0315" と "tsukasa_diary" は必ず同じチームに割り当てられます。
- "monkukui" と "TAB" はどこに割り当てられてもよいものとして扱われます。
テーブルを直接編集
ユーザー情報テーブルを直接編集します。編集した表は CSV 形式でエクスポート可能です。
「Team ID, ハンドルネーム, AtCoder ID, 所属」を下の表に書いてください。
- Team ID は、部分的にチームが決定している際に使用します。同一の Team ID が入力された人は、チーム分けにおいても必ず同一のチームになります。同一の Team ID を大量に入力した場合など、不正な入力である場合はチーム分けが失敗しますのでご注意ください。
- AtCoder ID は省略可能です
- 所属になにも記載しなかった場合、無所属として扱われます。無所属同士の重複については考慮されません
- そのユーザーをチーム分けで使用したくない場合は、"Take" のチェックを無効にします。
行の追加・削除は下にあるボタンで行えます。
特定の所属について全てチェックを入れる / 外す処理も下にあるボタンで行えます。完全一致 (ただし case-insensitive) で判定しています。