71 lines
2.5 KiB
Markdown
71 lines
2.5 KiB
Markdown
# dim1 · 指令遵循(3 题 / 满分 11 分)
|
||
|
||
> 考察:硬约束是否逐条满足(格式、数量、类型)。**题面发给模型;评分点不给。**
|
||
|
||
---
|
||
|
||
## Q1.1 · 严格 JSON(5 分)
|
||
|
||
### 给模型的题面
|
||
```text
|
||
请只输出一个 JSON 对象(不要 Markdown 代码块标记,不要任何其他文字),恰好包含三个字段:
|
||
- id:整数,值为 42
|
||
- name:字符串,值为 "seagull"
|
||
- tags:字符串数组,恰好包含 3 个元素,元素自选
|
||
```
|
||
|
||
### 评分点(勿发给被测模型)
|
||
| # | 判据 | 分值 | 判定方式 |
|
||
|---|---|---|---|
|
||
| 1 | 整段可被 `json.loads` 解析 | 1 | 自动 |
|
||
| 2 | 恰好三个字段 id/name/tags | 1 | 自动 |
|
||
| 3 | id==42(整数)且 name=="seagull" | 1 | 自动 |
|
||
| 4 | tags 为数组且长度恰好 3 | 1 | 自动 |
|
||
| 5 | 无代码块标记、无多余文本(strip 后首尾必须是 `{`/`}`) | 1 | 自动 |
|
||
|
||
---
|
||
|
||
## Q1.2 · 精确字数(2 分)
|
||
|
||
### 给模型的题面
|
||
```text
|
||
用恰好 50 个汉字(不含标点、字母、数字、空格)写一段介绍“二分查找”的文字。
|
||
必须恰好 50 个汉字,不多不少。只输出这段文字本身。
|
||
```
|
||
|
||
### 评分点(勿发给被测模型)
|
||
| # | 判据 | 分值 | 判定方式 |
|
||
|---|---|---|---|
|
||
| 1 | 汉字数恰好 50(Unicode CJK 区间计数,标点/数字/字母不计) | 1 | 自动(`re.findall(r'[\u4e00-\u9fff]', s)` 长度) |
|
||
| 2 | 内容正确介绍二分查找(有序数组、折半、对数复杂度等任一正确要点) | 1 | 人工/评委 |
|
||
|
||
---
|
||
|
||
## Q1.3 · 严格行格式(4 分)
|
||
|
||
### 给模型的题面
|
||
```text
|
||
根据以下三个代码改动,输出恰好 3 行 commit message,每行格式必须为:
|
||
|
||
type(scope): subject
|
||
|
||
约束:
|
||
- type 只能是 feat / fix / docs 之一
|
||
- scope 为小写字母或连字符
|
||
- subject 不超过 20 个字符
|
||
- 恰好 3 行,无空行,无编号,无其他文字
|
||
|
||
三个改动:
|
||
1. 给文章列表接口增加了按点赞数排序(新功能,模块 article)
|
||
2. 修复了签到接口重复发放金币的问题(修复,模块 user)
|
||
3. 更新了部署文档的端口说明(文档,模块 deploy)
|
||
```
|
||
|
||
### 评分点(勿发给被测模型)
|
||
| # | 判据 | 分值 | 判定方式 |
|
||
|---|---|---|---|
|
||
| 1 | 恰好 3 行、无空行无多余文字 | 1 | 自动 |
|
||
| 2 | 每行匹配 `^(feat\|fix\|docs)\([a-z-]+\): .+$` | 1 | 自动(正则) |
|
||
| 3 | 三行 type 分别为 feat/fix/docs 且与改动对应 | 1 | 自动/人工 |
|
||
| 4 | 每行 subject ≤20 字符 | 1 | 自动 |
|