一个现代化的C++算法题目训练网站,采用可拓展的设计,通过markdown维护题目。
每道题目采用以下markdown模版格式:
# 题目标题
## 题目描述
题目的详细描述...
## 标签
- 编程标签: array, dp, tree
- 知识标签: chicken-rabbit-cage, linear-equation, analytic-geometry
## 输入格式
输入数据的格式说明...
## 输出格式
输出数据的格式说明...
## 约束条件
• 数据范围约束
• 时间复杂度要求
• 空间复杂度要求
## 输入输出样例
### 输入
\`\`\`
样例输入数据
\`\`\`
### 输出
\`\`\`
样例输出数据
\`\`\`
### 说明
样例的解释说明...
## 提示
1. 提示1
2. 提示2
系统采用双维度标签分类:
在题目的markdown文件中,使用以下格式维护标签:
## 标签
- 编程标签: array, dp, tree
- 知识标签: chicken-rabbit-cage, linear-equation
标签定义在 src/data/sampleProblems.ts 文件中:
每个标签包含以下属性:
id: 标签唯一标识符name: 标签显示名称category: 标签所属分类color: 标签显示颜色problemCount: 包含此标签的题目数量dimension: 标签维度 ('programming' | 'knowledge')knowledgeTags 数组中添加新标签tagCategories 中确保分类包含新标签示例:
// 在 knowledgeTags 中添加
{
id: 'new-knowledge-point',
name: '新知识点',
category: '应用题',
color: 'bg-blue-50 text-blue-700',
problemCount: 5,
dimension: 'knowledge'
}
// 在题目中使用
knowledgeTags: ['new-knowledge-point', 'chicken-rabbit-cage']
src/data/sampleProblems.ts 中添加题目数据# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 构建生产版本
npm run build
系统设计为可扩展架构,可以轻松添加:
欢迎提交新题目和功能改进!请确保: