noip2011普及组——统计单词数
统计单词数
时间限制:1 s
内存限制:128MB
【问题描述】
一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位
置,有的还能统计出特定单词在文章中出现的次数。
现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章
中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,
即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1),
如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2)。
【输入】
输入文件名为stat.in,2行。
第1行为一个字符串,其中只含字母,表示给定单词;
第2行为一个字符串,其中只可能包含字母和空格,表示给定的文章。
【输出】
输出文件名为stat.out。
只有一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,
分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字
母在文章中的位置,位置从0开始);如果单词在文章中没有出现,则直接输出一个整数-1。
输入输出样例1
输入:
To
to be or not to be is a question
输出:
2 0
【输入输出样例1说明】
输出结果表示给定的单词To在文章中出现两次,第一次出现的位置为0。
输入输出样例2
输入:
to
Did the Ottoman Empire lose its power at that time
输出:
-1
【输入输出样例2说明】
表示给定的单词to在文章中没有出现,输出整数-1。
【数据范围】
1≤单词长度≤10。
1≤文章长度≤1,000,000。
#include<stdio.h>
#include<string.h>
int main()
{
char s1[],s2[];
int f1;
long first=-,num=;//first:首次出现的下标。num:总共出现的次数
char ch;
int i;
int index=-;//表示当前扫描文章的下标 freopen("stat2.in","r",stdin);
freopen("stat2.txt","w",stdout); scanf("%s",s1);
getchar();//吸收回车符
for(i=;s1[i]!='\0';i++)
{
if(s1[i]>='A'&&s1[i]<='Z')//若是大写字母,则变为小写字母
s1[i]=s1[i]+;
} f1=;//尚未开始输入文章当中的新单词
i=;//从文章输入的字符保存在s2数组当中的下标
while((ch=getchar())!=EOF)
{
index++;
if(ch==' ')
{
if(f1==) { continue; }
else
{
s2[i]='\0';
if(strcmp(s1,s2)==)
{
if(first==-)
first=index-strlen(s2);
num++;
}
i=;
f1=;
}
}
else
{
f1=;
if(ch>='A'&&ch<='Z') ch=ch+;
s2[i]=ch;
i++;
}
}
if(num>)
printf("%d %d\n",num,first);
else printf("-1\n");
return ;
}
noip2011普及组——统计单词数的更多相关文章
- noip2011普及组:统计单词
题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位 置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在 ...
- NOIP2011-普及组复赛-第二题-统计单词数
题目描述 Description 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给 ...
- 洛谷 P1308 统计单词数【string类及其函数应用/STL】
题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给 ...
- 洛谷 P1308 统计单词数
P1308 统计单词数 题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定 ...
- NOIP2011 普及组 T3 洛谷P1309 瑞士轮
今天题做太少,放道小题凑数233 题目背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公 ...
- 使用jdk8 stream 统计单词数
在我的SpringBoot2.0不容错过的新特性 WebFlux响应式编程里面,有同学问如何使用stream统计单词数.这是个好例子,也很典型,在这里补上. 下面的例子实现了从一个文本文件读取(英文) ...
- 统计单词数:string函数使用
题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给 ...
- java实现洛谷P1308统计单词数
题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给 ...
- 05:统计单词数【NOIP2011复赛普及组第二题】
05:统计单词数 总时间限制: 1000ms 内存限制: 65536kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次 ...
随机推荐
- <xliff:g>标签
摘要: 这是Android4.3Mms源码中的strings.xml的一段代码: <!--Settings item desciption for integer auto-delete sms ...
- WPF入门教程系列(二) 深入剖析WPF Binding的使用方法
WPF入门教程系列(二) 深入剖析WPF Binding的使用方法 同一个对象(特指System.Windows.DependencyObject的子类)的同一种属性(特指DependencyProp ...
- [转]SQLITE3 C语言接口 API 函数简介
SQLITE3 C语言接口 API 函数简介 说明:本说明文档属作者从接触 SQLite 开始认识的 API 函数的使用方法, 由本人翻译, 不断更新. /* 2012-05-25 */ int sq ...
- 第一次sprint团队贡献分改
201306114322 邵家文 50分 201306114319 陈俊金 10分 201306114320 李新 10分 201306114324 朱浩龙 10分
- Web前端学习笔记(001)
....编号 ........类别 ............条目 ................明细....................时间 一.Web前端学习笔记 ...
- 计算机硕士工资一览表 08年最新各大IT公司薪水行
编号:1017时间:2016年6月13日11:26:20功能:计算机硕士工资一览表 08年最新各大IT公司薪水行 URL :http://blog.csdn.net/icerock2000/artic ...
- Neutron Metering as a Service
1, /etc/neutron/neutron.conf service_plugins = router,metering notification_driver=neutron.open ...
- java 读取文件的常用方式
1.读取: public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void rea ...
- java 中的几种 "通用方法“
前言 Java中,除了基本的数值类型,其他所有数据类型(包括数组)都是对象. 而Object这个类是所有类的超类,它提供的方法,自然能够使用于它的所有子类(所有非基本数值类型). 本文介绍了Objec ...
- Install GD on mac
Lots of bioinformatics software are based on perl. Some of them, for example, Circos, NGS toolkit... ...