九度oj-1094-String Matching

原创 2015年11月17日 18:25:09

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:1263

解决:689

题目描述:

    Finding all occurrences of a pattern in a text is a problem that arises frequently in text-editing programs. 
    Typically,the text is a document being edited,and the pattern searched for is a particular word supplied by the user.  
    We assume that the text is an array T[1..n] of length n and that the pattern is an array P[1..m] of length m<=n.We further assume that the elements of P and  T are all alphabets(∑={a,b...,z}).The character arrays P and T are often called strings of characters.  
    We say that pattern P occurs with shift s in the text T if 0<=s<=n and T[s+1..s+m] = P[1..m](that is if T[s+j]=P[j],for 1<=j<=m).  
    If P occurs with shift s in T,then we call s a valid shift;otherwise,we calls a invalid shift. 
    Your task is to calculate the number of vald shifts for the given text T and p attern P.

输入:

   For each case, there are two strings T and P on a line,separated by a single space.You may assume both the length of T and P will not exceed 10^6. 

输出:

    You should output a number on a separate line,which indicates the number of valid shifts for the given text T and pattern P.

样例输入:
abababab abab
样例输出:
3
来源:
2006年上海交通大学计算机研究生机试真题

#include<stdio.h>
#include<string.h>
char a[1000005],b[1000005];
int main()
{
    int na,nb,i,j;
    while(scanf("%s%s",a,b)!=EOF)
    {
        int count=0;
        na=strlen(a);
        nb=strlen(b);
        for(i=0;i<=na-nb;i++)
        {
            for(j=0;j<nb;j++)
                if(a[i+j]!=b[j])
                break;
            if(j==nb)
                count++;
        }
        printf("%d\n",count);
    }
    return 0;
}


九度OJ的使用

1.网址:ac.jobdu.com 2.如果以前是王道论坛的用户,直接输入那个账号和密码就行。   如果不是的话,可以在首页新注册一个。 3.做题:在首页上方第二栏“在线练习”中点击“题...
  • sunwl_csdn
  • sunwl_csdn
  • 2016年07月13日 22:27
  • 1003

九度OJ 1435 迷瘴

题目地址:http://ac.jobdu.com/problem.php?pid=1435 题目描述: 通过悬崖的yifenfei,又面临着幽谷的考验—— 幽谷周围瘴气弥漫,静的可怕,...
  • JDPlus
  • JDPlus
  • 2014年02月06日 16:13
  • 2729

九度OJ 1185 特殊排序

题目链接:http://ac.jobdu.com/problem.php?pid=1185 题目分析: 简单的数字排序。 要注意输出的格式,我就因为格式的问题出现了一次Presentat...
  • wh921021
  • wh921021
  • 2013年05月17日 17:43
  • 1431

九度考研机试教程 23-题目1435:迷瘴

//题目1435:迷瘴 /*思路分析:采用贪心思想,每次选择浓度最小的,并且满足条件:小于等于W%浓度。 之前这题我一直WA,错误在于精度问题。  输入整数是16,可能被double类型实际保存为...
  • u013240812
  • u013240812
  • 2015年10月21日 13:26
  • 728

九度题目1183:守形数

原题链接:http://ac.jobdu.com/problem.php?pid=1183 题目描述: 守形数是这样一种整数,它的平方的低位部分等于它本身。 比如25的平方是625,低位部分...
  • thepeakofmountain
  • thepeakofmountain
  • 2014年07月08日 21:48
  • 724

【学习笔记】〖九度OJ〗题目1161:Repeater

本题要求按模板将原图扩展,扩展方法是,如果在模板中当前位置(i, j)不为空格,那么再下一层的图形中,相对位置(i,j)处(即按比例扩大)为本层的完整图形。...
  • j597960549
  • j597960549
  • 2014年03月05日 18:06
  • 1258

【九度OJ】题目1439:Least Common Multiple 解题报告

【九度OJ】题目1439:Least Common Multiple 解题报告标签(空格分隔): 九度OJ原题地址:http://ac.jobdu.com/problem.php?pid=1439题目...
  • fuxuemingzhu
  • fuxuemingzhu
  • 2017年03月07日 10:49
  • 166

九度1161——Repeater

原题http://ac.jobdu.com/problem.php?pid=1161 题目描述: Harmony is indispensible in our daily life and no...
  • qq_24421591
  • qq_24421591
  • 2016年03月31日 12:11
  • 939

【九度】2014年王道论坛计算机考研机试全真模拟考试解题报告

1、题目1553:时钟 时间限制:1 秒内存限制:128 兆特殊判题:否提交:764解决:321 题目描述: 如图,给定任意时刻,求时针和分针的夹角(劣弧所对应的角)。 输入: 输入包含多组测试数据...
  • u013027996
  • u013027996
  • 2015年05月26日 09:56
  • 1513

九度OJ 1108 堆栈的使用

题目描述:     堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。Push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。 ...
  • Jaster_wisdom
  • Jaster_wisdom
  • 2016年08月07日 15:30
  • 666
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:九度oj-1094-String Matching
举报原因:
原因补充:

(最多只允许输入30个字)