描述

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

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

【数据范围】

1 ≤ 单词长度≤ 10。

1 ≤ 文章长度≤ 1,000,000。

【输入输出样例 1 说明】

输出结果表示给定的单词 To 在文章中出现两次,第一次出现的位置为0。

【输入输出样例 2 说明】

表示给定的单词 to 在文章中没有出现,输出整数-1。

输入

第 1 行为一个字符串,其中只含字母,表示给定单词;

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

输出

只有一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,

分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字

母在文章中的位置,位置从0 开始);如果单词在文章中没有出现,则直接输出一个整数-1。

样例输入

To
to be or not to be is a question

样例输出

2 0

提示

输入样例2

to

Did the Ottoman Empire lose its power at that time

输出样例2

-1

题意

如上

题解

模拟,详情看代码

代码

 #include<stdio.h>
#include<string.h>
using namespace std; int main()
{
int pos=-,ans=,p=-,k=;//pos第一个位置,ans为个数,p为当前的位置,k为长度
char a[],word[],ch;
gets(a);
int la=strlen(a);
for(int i=;a[i];i++)
if(a[i]>='A'&&a[i]<='Z')
a[i]+=;
while(ch=getchar())
{
p++;
if(ch>='A'&&ch<='Z')
ch+=;
if(ch!=' '&&ch!='\n')
{
word[k++]=ch;
}
else
{
if(k==la)//长度相同
{
int f=;
for(int i=;i<k;i++)
{
if(a[i]!=word[i])
{
f=;
break;
}
}
if(f)
{
ans++;
if(pos==-)
pos=p-k;
}
}
k=;
}
if(ch=='\n')
break;
}
if(pos==-)printf("-1\n");
else printf("%d %d\n",ans,pos);
return ;
}

TZOJ 4865 统计单词数(模拟字符串)的更多相关文章

  1. 洛谷 P1308 统计单词数【字符串+模拟】

    P1308 统计单词数 题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定 ...

  2. 洛谷 P1308 统计单词数【字符串处理】

    题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给 ...

  3. [luogu]P1026 统计单词个数[DP][字符串]

    [luogu]P1026 统计单词个数 题目描述 给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个).要求将此字母串分成k份(1&l ...

  4. 经典问题(c++/python)素数、杨辉三角(金字塔型)、统计单词数、简单计算器、密码安全程度、凯撒密码加密、汉诺塔 (python课设实验实例)-- biaobiao88

    [编写程序,输人一个大于2的自然数,然后输出小于该数字的所有素数组成的列表.]所谓素数,是指除了1和自身之外没有其他因数的自然数,最小的素数是2,后面依次是3.5.7.11.13... c++代码: ...

  5. 分析MapReduce执行过程+统计单词数例子

    MapReduce 运行的时候,会通过 Mapper 运行的任务读取 HDFS 中的数据文件,然后调用自己的方法,处理数据,最后输出.Reducer 任务会接收 Mapper 任务输出的数据,作为自己 ...

  6. TZOJ 4839 麦森数(模拟快速幂)

    描述 形如2^P-1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果P是个素数,2^P-1不一定也是素数.到1998年底,人们已找到了37个麦森数.最大的一个是P=3021377,它有9 ...

  7. 洛谷P1308.统计单词数(字符串匹配)

    题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给 ...

  8. hdu 2072 单词数(字符串)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2072 题意 每行输入由小写字母和空格组成,统计每行中不同的单词数. 题解 题解一 比较简洁的解法,读入 ...

  9. 【洛谷】P1308 统计单词数-全AC题解(易理解

    弟弟的混乱代码(易理解 大概 思路: 循环b(被找的字符串),遇空格比较两空格间的长度是否与a(需要查找的字符)相等:不相等继续循环:相等比较内容是否相同(倒数比较,不一样直接退出 ,直到比较到第一个 ...

随机推荐

  1. 共享存储(ISCSI网络存储)

    server端:(192.168.100.11) 分区sdb 分别为10G和5G #fdisk /dev/dab …… 同步分区表 #partprobe /dev/sdb # yum install ...

  2. 利用Red Blob游戏介绍A*算法

    转自:http://gad.qq.com/program/translateview/7194337 在游戏中,我们经常想要找到从一个位置到另一个位置的路径.我们不只是想要找到最短距离,同时也要考虑旅 ...

  3. 第3章 文件I/O(2)_文件I/O系统调用及文件描述符

    2. 文件I/O系统调用及文件描述符 2.1 文件I/O系统调用 (1)主要函数 函数 功能 函数 功能 open() 打开文件 read() 读取文件 creat() 创建文件 write() 写入 ...

  4. sklearn.svm.SVC 参数说明

    原文地址:sklearn.svm.SVC 参数说明 ============================== 资源: sklearn官网+DOC 库下载GitHub =============== ...

  5. Configure First SpringMVC project in IntelliJ IDEA(fail)

    Configure First SpringMVC project in IntelliJ IDEA 13 The Mechanism of Spring MVC frameworks by Java ...

  6. C语言键盘按键无阻塞侦测:kbhit()

    http://www.360doc.com/content/12/0414/09/1317564_203474440.shtml kbhit in c kbhit in c: kbhit functi ...

  7. 管道| , <<<重定向

    https://blog.csdn.net/stormbjm/article/details/19173011

  8. Spring MVC 处理JSON 使用HttpMessageConveter

    负责将请求信息转换为一个对象 请求报名,转为InputStream,  输出报名OutputStream

  9. python练习题:三级菜单

    需求:可依次选择进入各子菜单可从任意一层往回退到上一层可从任意一层退出程序所需新知识点:列表.字典 测试环境:win7系统,python3.7.0,工具:pycharm-community-2018. ...

  10. WP runtime post 请求, json 解析

    https://monkeyweekend.wordpress.com/2014/10/23/how-to-send-text-json-or-files-using-httpclient-posta ...