A2694 | 电子字典
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
人们在英文字典中查找某个单词的时候可能不知道该单词的完整拼法,而只知道该单词的一个错误的近似拼法,这时人们可能陷入困境,为了查找一个单词而浪费大量的时间。带有模糊查询功能的电子字典能够从一定程度上解决这一问题:用户只要输入一个字符串,电子字典就返回与该单词编辑距离最小的几个单词供用户选择。
字符串 $a$ 与字符串 $b$ 的编辑距离是指:允许对 $a$ 或 $b$ 串进行下列“编辑”操作,将 $a$ 变为 $b$ 或 $b$ 变为 $a$,最少“编辑”次数即为距离。
1. 删除串中某个位置的字母;
2. 添加一个字母到串中某个位置;
3. 替换串中某一位置的一个字母为另一个字母。
JSOI 团队正在开发一款电子字典,你需要帮助团队实现一个用于模糊查询功能的计数部件:对于一个待查询字符串,如果它是单词,则返回 $-1$;如果它不是单词,则返回字典中有多少个单词与它的编辑距离为 $1$。
字符串 $a$ 与字符串 $b$ 的编辑距离是指:允许对 $a$ 或 $b$ 串进行下列“编辑”操作,将 $a$ 变为 $b$ 或 $b$ 变为 $a$,最少“编辑”次数即为距离。
1. 删除串中某个位置的字母;
2. 添加一个字母到串中某个位置;
3. 替换串中某一位置的一个字母为另一个字母。
JSOI 团队正在开发一款电子字典,你需要帮助团队实现一个用于模糊查询功能的计数部件:对于一个待查询字符串,如果它是单词,则返回 $-1$;如果它不是单词,则返回字典中有多少个单词与它的编辑距离为 $1$。
输入格式
第一行包含两个正整数 $N$ 和 $M$。
接下来的 $N$ 行,每行一个字符串,第 $i+1$ 行为单词 $W_i$,单词长度在 $1$ 至 $20$ 之间。
再接下来 $M$ 行,每行一个字符串,第 $i+N+1$ 表示一个待查字符串 $Q_i$。待查字符串长度在 $1$ 至 $20$ 之间。$W_i$ 和 $Q_i$ 均由小写字母构成,文件中不包含多余空格。
接下来的 $N$ 行,每行一个字符串,第 $i+1$ 行为单词 $W_i$,单词长度在 $1$ 至 $20$ 之间。
再接下来 $M$ 行,每行一个字符串,第 $i+N+1$ 表示一个待查字符串 $Q_i$。待查字符串长度在 $1$ 至 $20$ 之间。$W_i$ 和 $Q_i$ 均由小写字母构成,文件中不包含多余空格。
输出格式
输出应包括 $M$ 行,第 $i$ 行为一个整数 $X_i$:
- $X_i = -1$ 表示 $Q_i$ 为字典中的单词;
- 否则 $X_i$ 表示与 $Q_i$ 编辑距离为 $1$ 的单词的个数。
- $X_i = -1$ 表示 $Q_i$ 为字典中的单词;
- 否则 $X_i$ 表示与 $Q_i$ 编辑距离为 $1$ 的单词的个数。
输入输出样例
输入 #1
4 3 abcd abcde aabc abced abcd abc abcdd
输出 #1
-1 2 3
### 样例解释
-
-
-
### 数据范围与约定
- 所有单词互不相同,但是查询字符串可能有重复;
- 对 $50\%$ 的数据范围,$N,M\le 10^3$;
- 对 $100\%$ 的数据范围,$N,M\le 10^4$。
-
abcd 在单词表中出现过;-
abc 与单词 abcd、aabc 的编辑距离都是 $1$;-
abcdd 与单词 abcd、abcde、abced 的编辑距离都是 $1$。### 数据范围与约定
- 所有单词互不相同,但是查询字符串可能有重复;
- 对 $50\%$ 的数据范围,$N,M\le 10^3$;
- 对 $100\%$ 的数据范围,$N,M\le 10^4$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?