#P687. 【NOIP2011-J2】统计单词数

    ID: 1104 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 2 上传者: 标签>字符串模拟NOIP2011普及组查找单词匹配基础下标计数

【NOIP2011-J2】统计单词数

题目描述

一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。

现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1)。如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2)。

输入格式

输入共两行:

11 行为一个字符串,只含字母,表示给定单词;

22 行为一个字符串,只可能包含字母和空格,表示给定的文章。

输出格式

一行:

  • 如果在文章中找到给定单词,则输出两个整数,用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从 00 开始);
  • 如果单词在文章中没有出现,则直接输出整数 1-1

样例

To
to be or not to be is a question
2 0
to
Did the Ottoman Empire lose its power at that time
-1

提示

样例1解释
给定单词 To,在文章 to be or not to be is a question 中,独立单词 to(第 11 个单词)和 to(第 55 个单词)均与给定单词不区分大小写匹配,因此出现 22 次,第一次出现在位置 00(第一个单词的首字母在文章中的下标)。

样例2解释
给定单词 to,文章中虽然有 Ottoman 包含子串 to,但它不是独立的单词,因此不匹配,输出 1-1

数据范围

  • 1单词长度101 \le \text{单词长度} \le 10
  • 1文章长度1,000,0001 \le \text{文章长度} \le 1,000,000
  • 文章中的单词由空格分隔,可能有多个连续空格,应正确处理。

来源

NOIP2011 普及组