【字符串处理】codevs 1131 统计单词数

131 统计单词数

2011年NOIP全国联赛普及组

时间限制: 1 s

空间限制: 128000 KB

题目等级 : 白银 Silver

题目描述 Description

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

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

输入描述
Input Description

第 1 行为一个字符串,其中只含字母,表示给定单词;
第 2 行为一个字符串,其中只可能包含字母和空格,表示给定的文章。

输出描述
Output Description

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

样例输入
Sample Input

输入1:

To

to be or not to be is a question

输入2:

to

Did the Ottoman Empire lose its power at that time

样例输出
Sample Output

输出1:

2 0

输出2:

-1

数据范围及提示
Data Size & Hint

数据范围
1 ≤ 单词长度≤ 10。
1 ≤ 文章长度≤ 1,000,000。

我字符串处理已经弱成狗了

TMD普及组的题都能难我这样久

我靠靠靠

 1 # include<cstdio>
 2 # include<cctype>
 3 # include<string>
 4 # include<cstring>
 5 # include<iostream>
 6 # include<algorithm>
 7 using namespace std;
 8 string st1,st2;
 9 int tot,fist=-1;
10 int main(){
11     getline(cin,st1);
12     getline(cin,st2);
13     int len1=st1.size();
14     int len2=st2.size();
15     for(int i=0;i<len1;i++)st1[i]=tolower(st1[i]);
16     for(int i=0;i<len2;i++)st2[i]=tolower(st2[i]);
17     for(int i=0;i<len2;i++)
18     if(st2[i]==st1[0]&&st2[i-1]==‘ ‘||i==0){
19         int k=0,vis=0;
20         for(int j=i;j<len2&&st2[j]!=‘ ‘;j++)if(st2[j]!=st1[k++]){vis=1;break;}
21         if(vis==0&&k==len1){tot++;if(fist==-1)fist=i;}
22     }
23     if(tot)cout<<tot<<" "<<fist;
24     else cout<<"-1";
25     return 0;
26 }

时间: 2024-10-20 09:35:18

【字符串处理】codevs 1131 统计单词数的相关文章

codevs 1131 统计单词数

#include<iostream> #include<string> using namespace std; int main() { string s, s0; getline(cin, s0);//short getline(cin, s); for (int i = 0; i < s.length(); i++) s[i] = tolower(s[i]); for (int i = 0; i < s0.length(); i++) s0[i] = tolowe

杭电2072 统计单词数

http://acm.hdu.edu.cn/showproblem.php?pid=2072 用set容器来统计单词数,可以排除相同的单词. #include<iostream>#include<set>#include<string>using namespace std; int main(){ string String,str; set<string> s; int i = 0; bool flag; while(getline(cin,str) &

统计单词数

1.首先新建两个文件夹: 往文件夹添加内容: 2.启动hadoop-查看是否启动成功. 3.先对nameNode进行初始化. 4.查看hadoop下面有哪些文件. 5.在hadoop目录下创建input文件. 6.拷贝文件到hadoop目录下. 7.执行统计的单词数. 8.对结果进行查看. 9.也可以在浏览器进行查看. 输入:http://localhost:50070 10.关闭hadoop.

字符串数组统计单词数

public class _z { public static void main(String a[]){ String x[]=new String[]{"Every","day","we","should","smile","on","the","people","around","us"}; int

noip2011普及组——统计单词数

统计单词数 时间限制:1 s 内存限制:128MB [问题描述]一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数.现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置.注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2). [输入]输入

05:统计单词数【NOIP2011复赛普及组第二题】

05:统计单词数 总时间限制:  1000ms 内存限制:  65536kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置.注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样

AC日记——统计单词数 openjudge 1.12 5

05:统计单词数 总时间限制:  1000ms 内存限制:  65536kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置.注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样

NOIP2011-普及组复赛-第二题-统计单词数

题目描述 Description 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数.  现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置.注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章 中的某一独立单词在不区分大小写的情况下完全相同(参见样例1 ),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2 ). 输入输出格式 Input/out

2011统计单词数

题目描述 Description 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数.现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置.注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2). 输入描述 Input Descriptio