Skip to content

参赛者 ​

User 对象 ​

每行排名数据中的 user 字段描述一个参赛者(如个人选手或团队)。

基本配置 ​

一个 User 至少需要 id 和 name:

json
{
  "id": "team-alpha",
  "name": "Team Alpha"
}
字段说明必填默认值
id唯一标识符✅—
name显示名称✅—
official是否正式参赛❌true
organization所属组织(如学校)❌—
teamMembers队伍成员列表❌[]
avatar头像图片❌—
photo照片❌—
location现场位置(如座位号)❌—
markers标记 ID 列表❌—

ID 唯一性 ​

id 在整份 ranklist 中必须唯一,可用于去重、索引和交叉引用。

正式/非正式参赛 ​

official 字段标记选手是否为正式参赛者(打星选手设为 false):

json
{
  "id": "guest-team",
  "name": "Guest Team",
  "official": false,
  "organization": "Some University"
}

注意

official 字段本身不直接影响排名计算。它的效果取决于所使用的排名系列规则:

  • ICPC 预设:默认仅正式选手参与奖区分配
  • Normal / UniqByUserField 预设:通过 includeOfficialOnly 选项控制

无论 official 值如何,选手都会出现在榜单中,除非渲染器进行了过滤。

团队信息 ​

对于团队比赛,可以使用 organization 和 teamMembers 添加团队信息:

json
{
  "id": "team-1",
  "name": "SDUT Team 1",
  "organization": "Shandong University of Technology",
  "teamMembers": [
    { "name": "Alice" },
    { "name": "Bob", "link": "https://codeforces.com/profile/bob" },
    { "name": "Ciallo" }
  ]
}

teamMembers 中的每个成员是一个 ExternalUser 对象:

字段说明必填
name成员名称✅
role成员角色,例如 "teamMember"、"captain"、"coach"❌
avatar头像❌
link个人主页链接❌

标记 ​

通过 markers 字段可以给选手打上标记(如"女队"、"省内队伍"等),需要配合顶层 markers 定义使用:

json
{
  "id": "team-gamma",
  "name": "Team Gamma",
  "markers": ["girls-team"]
}

→ 详见 标记系统

国际化名称 ​

name 和 organization 这样的 i18n 字符串支持国际化:

json
{
  "id": "pku",
  "name": {
    "fallback": "reborn as a vegetable dog",
    "zh-CN": "重生之我是菜狗"
  },
  "organization": {
    "fallback": "Peking University",
    "en": "Peking University",
    "zh-CN": "北京大学"
  }
}

→ 详见 进阶特性 — 国际化

完整字段定义请参阅 User 规范