题目描述

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

现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章

中的某一独立单词在不区分大小写的情况下完全相同(参见样例1 ),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2 )。

输入输出格式

输入格式:

输入文件名为stat.in ,2 行。

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

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

输出格式:

输出文件名为stat.out 。

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

输入输出样例

输入样例#1:

【输入样例1】
To
to be or not to be is a question
【输入样例2】
to
Did the Ottoman Empire lose its power at that time
输出样例#1:

【输出样例1】
2 0
【输出样例2】
-1

说明

数据范围

1≤ 单词长度≤10。

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

noip2011普及组第2题

模擬即可。

注意是獨立單詞,還有它空格和換行。

代碼實現:

 #include<cstdio>
#include<cstring>
using namespace std;
int q=-,ans,l,a,b;
char ch[],cn[],word;
int main(){
scanf("%s",ch);
l=strlen(ch);
for(int i=;i<l;i++){
if(ch[i]<'a') ch[i]+=;
cn[i]=ch[i]-;
}
while(word=getchar()) if(word=='\n') break;
while(word=getchar()){
b++;
if(word==ch[a]||word==cn[a]) a++;
else{
a=;
if(word!=' '&&word!='\n')
while(word=getchar()){
b++;
if(word==' '||word=='\n') break;
}
} if(a==l){
word=getchar();b++;
if(word!=' '&&word!='\n'){
while(word=getchar()){
b++;a=;
if(word==' '||word=='\n') break;
}
continue;
}
if(q==-) q=b-l-;
++ans;
a=;
}
if(word=='\n') break;
}
if(q==-) printf("-1\n");
else printf("%d %d\n",ans,q);
return ;
}

建議大家做一下這道非常惡心的題,有助於代碼能力的提高的。

NOIP2011 普及組 統計單詞數的更多相关文章

  1. NOIP2011 普及组 T3 洛谷P1309 瑞士轮

    今天题做太少,放道小题凑数233 题目背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公 ...

  2. sql: T-SQL 统计计算(父子關係,樹形,分級分類的統計)

    ---sql: T-SQL 统计计算(父子關係,樹形,分級分類的統計) ---2014-08-26 塗聚文(Geovin Du) CREATE PROCEDURE proc_Select_BookKi ...

  3. 統計數字(2007年NOIP全国联赛提高组)

    题目描述 Description [问题描述]某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109).已知不相同的数不超过10000 个,现在需要统计这些自然数各自出现的 ...

  4. ruby簡單的代碼行統計工具

    看代码 # encoding: utf-8 class CodeLineStat attr_reader :code_lines def initialize @code_lines = 0 end ...

  5. 計蒜客/數正方形(dp)

    題目鏈接:https://nanti.jisuanke.com/t/44 題意:中文題誒~ 思路: 用dp[i][j]存儲以(i, j)爲左上定點的最大正方形變長,從右下角網左上角一次計算所有頂點: ...

  6. NOIP2011普及组 数字反转

    题目OJ链接: http://codevs.cn/problem/1130/ https://www.luogu.org/problemnew/show/P1307 2011年NOIP全国联赛普及组 ...

  7. [NOIP2011] 普及组

    数字反转 小模拟 #include<cstdio> #include<iostream> #include<cstring> using namespace std ...

  8. noip2011普及组——统计单词数

    统计单词数 时间限制:1 s 内存限制:128MB [问题描述]一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数.现在,请你编程实 ...

  9. noip2011普及组——数字反转

    数字反转 时间限制:1s 内存限制:128MB[问题描述]给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零 ...

随机推荐

  1. java.lang.ExceptionInInitializerError

    java.lang.ExceptionInInitializerError at com.csdhsm.compiler.test.DevTest.testReadInput(DevTest.java ...

  2. Jquery easyui datagrid 导出Excel

    From:http://www.cnblogs.com/weiqt/articles/4022399.html datagrid的扩展方法,用于将当前的数据生成excel需要的内容. 1 <sc ...

  3. UITableViewCell Property “icon” cannot be found in forward class object “DJWeiBo”

    UITableViewCell 自定义表格 实体属性不显示错误 Property “icon” cannot be found in forward class object “DJWeiBo”引入实 ...

  4. Problem K 栈

    Description A math instructor is too lazy to grade a question in the exam papers in which students a ...

  5. PL/SQL : Procedural Language / Structual Query Language and it is an exrension to SQL.

    SQL is not very flexible and it cannot be made to react differently to differing sutuations easily. ...

  6. IE和火狐 差异

    1.JavaScript中 1)IE和FireFox中childNodes的差别: <head> <script type="text/javascript"&g ...

  7. Unity开发Android应用程序:调用安卓应用程序功能

    开发环境: Eclipse3.4 + adt12 + jdk6 + AndroidSDK2.2 Unity3.4 + windows7 测试设备: HTC Desire HD 本文要涉及到的几个重点问 ...

  8. SharePoint 2013 Nintex Workflow 工作流帮助(四)

    博客地址 http://blog.csdn.net/foxdave 接上篇点击打开链接 我们来看下一个配置标签Ribbon Option: Task Notification(用于配置分配任务时的提醒 ...

  9. Screen对象

    document.write("Screen-width:"+screen.width+"Screen-height:"+screen.height);docu ...

  10. String创建对象的个数--西北狼

    public class StringDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto ...