39 人解决,48 人已尝试。
59 份提交通过,共有 350 份提交。
4.5 EMB 奖励。
单点时限: 2.0 sec
内存限制: 256 MB
jxtxzzw在准备数据结构题目的时候,做了一张检索表。
编号 | 名称 | 难度 | 来源 | 出题人 | 数据结构 | 算法 | 题解 | 备注 |
---|---|---|---|---|---|---|---|---|
1001 | 线性表插入删除操作 | Easy | 新题 | jxtxzzw | 线性表 | |||
1002 | 线性表去重 | Hard | 新题 | jxtxzzw | 线性表 | 某网址 | ||
1003 | 经典的猜数游戏 | Super | 题库 | jxtxzzw | 线性表 | 二分 | 暂不公开 | |
1004 | 1004 | Medium | 题库 | jxtxzzw | 排序 | 趣味题,选做 |
但是突然,jxtxzzw认为应该给题目编号增加超链接才对,也就是点一下题目编号要能够自动跳转到对应的页面。
Markdown语法中超链接的写法是:
[Text](https://sample.com)
所以,上面这张表格对应的第一行源码
| 1001 | 线性表插入删除操作 | Easy | 新题 | jxtxzzw | 线性表 | | | |
在加入了超链接后,对应于
[1001](https://acm.ecnu.edu.cn/contest/76/problem/1001)
同时,jxtxzzw想要直接在URL中显示难度。
(也许是为了方便Spy记录每个难度做题的人数?)
jxtxzzw希望把网址变成
https://acm.ecnu.edu.cn/contest/76/problem/1001?level=Easy
由此,完整的第一行表格是:
| [1001](https://acm.ecnu.edu.cn/contest/76/problem/1001?level=Easy) | 线性表插入删除……
类似地,可以得到表格的剩余部分。
jxtxzzw希望写一个程序来完成这个任务。
若干行。
第1行一定是:
| 编号 | 名称 | 难度 | 来源 | 出题人 | 数据结构 | 算法 | 题解 | 备注 |
第2行一定是:
| ---- | -------- | ---- | ---- | ------ | -------------- | ---------- | ---- | ---- |
后面若干行,直到文件结束,都是每行一条记录,形如:
| 1001 | 线性表插入删除操作 | Easy | 新题 | jxtxzzw | 线性表 | | | |
其中每行:
第1个字段是题目编号。如果这是一个合法的编号,是一个从1001开始的四位数的整数,否则,它根本就不是数字。(即,只要是数字就一定是1001~9999,不可能出现类似0099、12345这样的情况,除非包括其他非数字字符)。
第2个字段是题目名称。是一个字符串,可能是中文、英文、数字、特殊符号,甚至可能包含空格和|
。
第3个字段是题目的难度。一定是Naive
、Easy
、Medium
、Hard
和Super
中的一个。
第4个字段是题目的来源。一定是题库
和新题
中的一个。
第5个字段是出题人。是一个字符串,可能是中文、英文、数字、特殊符号,甚至可能包含空格和|
。
第6、7个字段是知识点标签。可能是中文、英文、数字、特殊符号,甚至可能包含空格和|
。
第8个字段是题解。可能是一个URL,形如http://sample.com
;可能是Markdown语法,形如[Sol](http://sample.com)
;也可能是一个字符串,可能是中文、英文、数字、特殊符号,甚至可能包含空格和|
。
第9个字段是备注。是一个字符串,可能是中文、英文、数字、特殊符号,甚至可能包含空格和|
。
现在需要你对每一行进行如题目要求的处理。
为了方便起见,你只需要完成第1个字段的网址替换。因为后面的字段也是类似的原理(毕竟jxtxzzw知道怎么写出这样的程序,没有必要让你帮他完成。)
具体来说,第一个字段需要你替换成的形式是Markdown语法下的链接,语法格式如题面描述,其中[文字部分]
为题目编号,如果题目编号非法,则不做任何替换,(URL部分)
是Contest的URL后面跟上题目编号,再以?level=
的形式接上难度。
例如给定下表:
编号 | 名称 | 难度 | 来源 | 出题人 | 数据结构 | 算法 | 题解 | 备注 |
---|---|---|---|---|---|---|---|---|
1001 | 冒泡排序 | Easy | 新题 | jxtxzzw | 线性表 | 排序 | EOJ | 选做题 |
1002 | 插入排序 | Medium | 新题 | 张三 | 二叉树 | 动态规划 | www.google.com | 趣味题 |
1003 | 选择排序 | Hard | 题库 | 1016 | 图 | 二分 | 暂不公开 | 考试题 |
1004 | 快速排序 | Super | 题库 | @#D | 数组 | 并查集 | 暂不公开 | SPJ |
对应源码:
| 编号 | 名称 | 难度 | 来源 | 出题人 | 数据结构 | 算法 | 题解 | 备注 |
| ---- | -------- | ---- | ---- | ------ | -------------- | ---------- | ---- | ---- |
| 1001 | 冒泡排序 | Easy | 新题 | jxtxzzw | 线性表 | 排序 | [EOJ](https://acm.ecnu.edu.cn) | 选做题 |
| 1002 | 插入排序 | Medium | 新题 | 张三 | 二叉树 | 动态规划 | www.google.com | 趣味题 |
| 1003 | 选择排序 | Hard | 题库 | 1016 | 图 | 二分 | 暂不公开 | 考试题 |
| 1004 | 快速排序 | Super | 题库 | @#D | 数组 | 并查集 | 暂不公开 | SPJ |
最后应该得到:
编号 | 名称 | 难度 | 来源 | 出题人 | 数据结构 | 算法 | 题解 | 备注 |
---|---|---|---|---|---|---|---|---|
1001 | 冒泡排序 | Easy | 新题 | jxtxzzw | 线性表 | 排序 | EOJ | 选做题 |
1002 | 插入排序 | Medium | 新题 | 张三 | 二叉树 | 动态规划 | www.google.com | 趣味题 |
1003 | 选择排序 | Hard | 题库 | 1016 | 图 | 二分 | 暂不公开 | 考试题 |
1004 | 快速排序 | Super | 题库 | @#D | 数组 | 并查集 | 暂不公开 | SPJ |
对应源码:
| 编号 | 名称 | 难度 | 来源 | 出题人 | 数据结构 | 算法 | 题解 | 备注 |
| ---- | -------- | ---- | ---- | ------ | -------------- | ---------- | ---- | ---- |
| [1001](https://acm.ecnu.edu.cn/contest/76/problem/1001?level=Easy) | 冒泡排序 | Easy | 新题 | jxtxzzw | 线性表 | 排序 | [EOJ](https://acm.ecnu.edu.cn) | 选做题 |
| [1002](https://acm.ecnu.edu.cn/contest/76/problem/1002?level=Medium) | 插入排序 | Medium | 新题 | 张三 | 二叉树 | 动态规划 | www.google.com | 趣味题 |
| [1003](https://acm.ecnu.edu.cn/contest/76/problem/1003?level=Hard) | 选择排序 | Hard | 题库 | 1016 | 图 | 二分 | 暂不公开 | 考试题 |
| [1004](https://acm.ecnu.edu.cn/contest/76/problem/1004?level=Super) | 快速排序 | Super | 题库 | @#D | 数组 | 并查集 | 暂不公开 | SPJ |
注意:
|
。输出替换后的检索表源码。
| 编号 | 名称 | 难度 | 来源 | 出题人 | 数据结构 | 算法 | 题解 | 备注 | | ---- | -------- | ---- | ---- | ------ | -------------- | ---------- | ---- | ---- | | 1001 | 冒泡排序 | Easy | 新题 | jxtxzzw | 线性表 | 排序 | [EOJ](https://acm.ecnu.edu.cn) | 选做题 | | 1002 | 插入排序 | Medium | 新题 | 张三 | 二叉树 | 动态规划 | www.google.com | 趣味题 | | 1003 | 选择排序 | Hard | 题库 | 1016 | 图 | 二分 | 暂不公开 | 考试题 | | 1004 | 快速排序 | Super | 题库 | @#D | 数组 | 并查集 | 暂不公开 | SPJ |
| 编号 | 名称 | 难度 | 来源 | 出题人 | 数据结构 | 算法 | 题解 | 备注 | | ---- | -------- | ---- | ---- | ------ | -------------- | ---------- | ---- | ---- | | [1001](https://acm.ecnu.edu.cn/contest/76/problem/1001?level=Easy) | 冒泡排序 | Easy | 新题 | jxtxzzw | 线性表 | 排序 | [EOJ](https://acm.ecnu.edu.cn) | 选做题 | | [1002](https://acm.ecnu.edu.cn/contest/76/problem/1002?level=Medium) | 插入排序 | Medium | 新题 | 张三 | 二叉树 | 动态规划 | www.google.com | 趣味题 | | [1003](https://acm.ecnu.edu.cn/contest/76/problem/1003?level=Hard) | 选择排序 | Hard | 题库 | 1016 | 图 | 二分 | 暂不公开 | 考试题 | | [1004](https://acm.ecnu.edu.cn/contest/76/problem/1004?level=Super) | 快速排序 | Super | 题库 | @#D | 数组 | 并查集 | 暂不公开 | SPJ |
| 编号 | 名称 | 难度 | 来源 | 出题人 | 数据结构 | 算法 | 题解 | 备注 | | ---- | -------- | ---- | ---- | ------ | -------------- | ---------- | ---- | ---- | | 1001 | 1001 | Easy | 新题 | 1001 | | 1001 | | | | 1002 | 有数字1002的题 | Medium | 新题 | jxtxzzw | | | | | | 1003 | 有空 格 的 题 | Easy | 新题 | | | | 前后空格一致 | | | 1234 | 有|的|题||| | Medium | 新题 | | | 多了很多空格 | | Algs-\n | | 8999 | 名称|Easy|Hard | Super | 新题 | | | |前后空格不一致| | | XYZ | 不替换 | Easy | 新题 | | | | | |
| 编号 | 名称 | 难度 | 来源 | 出题人 | 数据结构 | 算法 | 题解 | 备注 | | ---- | -------- | ---- | ---- | ------ | -------------- | ---------- | ---- | ---- | | [1001](https://acm.ecnu.edu.cn/contest/76/problem/1001?level=Easy) | 1001 | Easy | 新题 | 1001 | | 1001 | | | | [1002](https://acm.ecnu.edu.cn/contest/76/problem/1002?level=Medium) | 有数字1002的题 | Medium | 新题 | jxtxzzw | | | | | | [1003](https://acm.ecnu.edu.cn/contest/76/problem/1003?level=Easy) | 有空 格 的 题 | Easy | 新题 | | | | 前后空格一致 | | | [1234](https://acm.ecnu.edu.cn/contest/76/problem/1234?level=Medium) | 有|的|题||| | Medium | 新题 | | | 多了很多空格 | | Algs-\n | | [8999](https://acm.ecnu.edu.cn/contest/76/problem/8999?level=Super) | 名称|Easy|Hard | Super | 新题 | | | |前后空格不一致| | | XYZ | 不替换 | Easy | 新题 | | | | | |
是不是习惯了字符串操作的题都是回文啊、子串啊、倒置啊……
但是现实生活中可不会只有那些算法题,更多的其实是像“GPS数据处理”和“网址的替换”这样的情况,需要你去分析或者处理大段字符串。
虽然繁琐,但是实用。耐心点做,其实一点也不难。按要求慢慢处理就是了。
39 人解决,48 人已尝试。
59 份提交通过,共有 350 份提交。
4.5 EMB 奖励。