Competitive Programming Team Maker

競技プログラミングのチーム分け補助アプリ
これは競技プログラミングのチーム分けをサポートする Web アプリケーションです。ユーザーの情報を入力として受け取り、以下のポリシーに基づきチームへの割当を返します。
  • チーム間の実力差をできるだけ小さくする
  • できるだけ所属が異なる参加者同士でチームを組む
  • 過去のチーム分けで同じチームに属した組は、できるだけ異なるチームに属するようにする
内部で使用している評価関数やアルゴリズムなどの、アプリケーションの詳細については About ページ をご覧ください。

CSV ファイルをインポート

CSV 形式のファイルをインポートし、ユーザー情報テーブルの入力時間を短縮できます。

以下の例で示されるような、「ハンドルネーム, AtCoder ID, 所属」がカンマ区切りで書かれている CSV ファイルを予め用意してください。下の「ファイルを選択」ボタンで CSV ファイルを選択し、「CSV をインポート」ボタンでその内容を表に反映させます。
CSV ファイルの例
tsutaj,Tsuta_J,four-t
monkukui,monkukui,ragan
waku,wakuwinmail,Megido

テーブルを直接編集

ユーザー情報テーブルを直接編集します。編集した表は CSV 形式でエクスポート可能です。

「ハンドルネーム, Team ID, AtCoder ID, 所属」を下の表に書いてください。

  • Team ID は、部分的にチームが決定している際に使用します。同一の Team ID が入力された人は、チーム分けにおいても必ず同一のチームになります。同一の Team ID を大量に入力した場合など、不正な入力である場合はチーム分けが失敗しますのでご注意ください。
  • AtCoder ID は省略可能です
  • 所属になにも記載しなかった場合、無所属として扱われます。無所属同士の重複については考慮されません
  • そのユーザーをチーム分けで使用したくない場合は、"Take" のチェックを無効にします。

行の追加・削除は下にあるボタンで行えます。

特定の所属について全てチェックを入れる / 外す処理も下にあるボタンで行えます。完全一致 (ただし case-insensitive) で判定しています。

Take Team ID Handle AtCoder ID Affiliation
所属が であるユーザーに対して

過去のチーム分け結果をインポート

過去の結果を読み込みます (複数選択可)。過去の結果において同じチームに属した組に対して、できるだけ異なるチームに属するようにチーム分けすることができます。