文海寻词
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目背景
大外“青年译制组”的同学们最近接下了一项大任务:为一部长达三个小时的英文纪录片制作精校版双语字幕。
在校对过程中,为了保证专业术语、人名等译法前后一致,组长常常需要在大段英文原稿中查找某个单词出现了多少次,以及它第一次出现的位置。
手动搜索不仅费时,还很容易漏掉。于是,组长找到了懂编程的你,希望你帮忙写一个简单实用的批量检索工具。
题目描述
给定一段英文原稿和若干个待查询的关键词。对于每个关键词,请统计它在原稿中作为独立单词出现的次数,并输出它第一次出现的位置。
注意:字符串的位置下标从 开始编号,空格也算作一个字符。
匹配要求如下:
- 匹配时忽略大小写。例如 、 和 视为同一个单词;
- 关键词必须与原稿中的某个完整单词完全一致,不能只匹配较长单词的一部分;
- 题目保证输入的原稿中只包含英文字母和空格。
输入格式
第 行包含一个字符串 ,只由英文字母和空格组成,表示待分析的英文原稿(提示:该字符串可能由空格开始或由空格结束,两个单词之间可能包含不止一个空格)。
第 行包含一个正整数 ,表示需要查询的关键词数量。
接下来 行,每行包含一个仅由英文字母组成的字符串 ,表示一个待查询的目标关键词。
输出格式
输出共 行,每行对应一个关键词的查询结果。
-
如果该单词没有出现,输出:
The word "[word]" was not found in the text. -
如果该单词只出现了 次,输出:
The word "[word]" was found 1 time at index [index]. -
如果该单词在文本中出现过 次及以上,输出:
The word "[word]" was found [count] times, first appearing at index [index].
其中, 表示输入时的原始关键词(保留原大小写,无需进行任何转换,原样输出即可), 表示出现次数, 表示第一次出现的位置。
输出时请将上述占位符替换成真实内容,不要输出中括号。
输入输出样例
Keep coding keep improving May you shine in every contest and achieve great success
3
keep
to
contest
The word "keep" was found 2 times, first appearing at index 0.
The word "to" was not found in the text.
The word "contest" was found 1 time at index 54.
解释:
- 查询 :它在原稿中出现了 次,分别是 和 ,首次出现位置为 。
- 查询 :它没有作为独立单词出现在原稿中,因此输出未找到。
- 查询 :它作为独立单词出现了 次,第一次出现的位置是 (注意空格数量)。
数据范围
对于 的数据,保证:、、。