Problem 1032 - 找模式串
Time Limit: 1000MS   Memory Limit: 65536KB   Difficulty:
Total Submit: 644  Accepted: 323  Special Judge: No
Description

  在字符串中查找指定的模式串是一种常见的运算,称为模式匹配。请你编写实现模式匹配的程序。

Input
输入数据的第一行是一个正整数T(0<T≤100),表示有T组测试数据。
每组测试数据有两行:第一行为字符串S(长度不超过128,全部为大写英文字母),第二行为模式串P(长度不超过20)。
Output
对于每组测试数据,在一行上输出一个整数,表示模式串P在字符串S中的位置序号(若出现多次,则输出第一次出现时的位置)。若在字符串S中找不到模式串P,则输出整数-1。
Sample Input
3
ABCDEF
AB
EJBBMSWJPREAEYBM
MBWEJ
DCZRZYFGJVTPWKF
ZYFG
Sample Output
0
-1
4
Hint

/* 读入整数 */
int t;
scanf("%d\n",&t); //或者 scanf("%d",&t);

/* 读入串 */
char str[200];
scanf("%s",str); //C格式
cin >> str; //C++格式

Source
8th Xidian University Collegiate Programming Contest(2010.6)
#include<stdio.h>
#include<string.h>
char str[],ss[];
int find()
{
int len1=strlen(&str[]),len2=strlen(&ss[]),i,j;
for (i=;i+len2-<=len1;i++)
{
bool flag=true;
for (j=;j<=len2;j++)
if (str[i+j-]!=ss[j]) flag=false;
if (flag) return (i-);
}
return -;
}
int main()
{
int T;
scanf("%d",&T);
while (T--)
{
memset(str,,sizeof(str));
memset(ss,,sizeof(ss));
scanf("%s",&str[]);
scanf("%s",&ss[]);
printf("%d\n",find());
}
return ;
}

找模式串[XDU1032]的更多相关文章

  1. pku1204 Word Puzzles AC自动机 二维字符串矩阵8个方向找模式串的起点坐标以及方向 挺好的!

    /** 题目:pku1204 Word Puzzles 链接:http://poj.org/problem?id=1204 题意:给定一个L C(C <= 1000, L <= 1000) ...

  2. 【基本算法】 KMP文本串模式串的字符串匹配算法

    看了两个晚上的KMP,加上基本的“暴力匹配” 今晚看懂next[j]递归求解时,突然觉得算法真的好美妙,虽然觉悟的晚但晚胜过没有是吧! 我的博客都是应试性的学习笔记,不具备指导性,还是大神们写的好,例 ...

  3. POJ 3167 Cow Patterns(模式串浮动匹配)

    题目链接:http://poj.org/problem?id=3167 题意:模式串可以浮动的模式匹配问题给出模式串的相对大小,需要找出模式串匹配次数和位置. 思路:统计比当前数小,和于当前数相等的, ...

  4. 模式串 从 0 开始的KMP算法

    /** * 看了 b站视频 BV1jb411V78H 对KMP有了一点理解,然后我写了这个代码 * 这个代码和视频里面的有一点不同,字符串是从 0 开始的,而不是从1 开始的 * 希望能够帮到学习KM ...

  5. AC自动机 - 多模式串的匹配 --- HDU 3695 Computer Virus on Planet Pandora

    Problem's Link Mean: 有n个模式串和一篇文章,统计有多少模式串在文章中出现(正反统计两次). analyse: 好久没写AC自动机了,回顾一下AC自动机的知识. 本题在构造文章的时 ...

  6. AC自动机 - 多模式串的匹配运用 --- HDU 3065

    病毒侵袭持续中 Problem's Link:http://acm.hdu.edu.cn/showproblem.php?pid=3065 Mean: 略 analyse: AC自动机的运用. 这一题 ...

  7. POJ-3461 Oulipo(KMP,模式串在主串中出现次数)

    题意:给你两个字符串p和s,求出p在s中出现的次数. 显然,我们要先把模式串放到前面,之后主串放后面,中间隔开,这样就可以根据前缀数组的性质来求了. 我先想直接把p接到s前面,之后求Next数组对st ...

  8. HDU 1686 (KMP模式串出现的次数) Oulipo

    题意: 求模式串W在母串T中出现的次数,各个匹配串中允许有重叠的部分. 分析: 一开始想不清楚当一次匹配完成时该怎么办,我还SB地让i回溯到某个位置上去. 后来仔细想想,完全不用,直接让模式串向前滑动 ...

  9. HDU 2087 剪花布条(模式串在主串中出现的次数主串中子串不可重叠)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 题意:求模式串在主串中出现的次数,与模式串匹配的子串之间不可重叠. 思路:用kmp算法解决,在匹 ...

随机推荐

  1. Windows下Cygwin添加右键菜单

    在http://herry2013git.blog.163.com/blog/static/2195680112013437139447/看到一篇文章,将Cypwin加入右键菜单,方便使用. 为了更傻 ...

  2. ubuntu12 apache2部署多个网站的方法

    由于对apache2的配置不是很精通.吃了不少瘪. 这里总结下,希望对碰到同样问题的人带来帮助: 假设需求是有两个站点,site1和site2.其端口分别为80和8080. 1. 配置监听端口 修改 ...

  3. 《linux备份与恢复之一》.tar.bz2与.tar.gz格式的文本压缩率比较

    对于文本压缩,据说bzip的算法要优于gzip,从而拥有更好的压缩比.特地找了两个文件来做一下测试,以下为测试结果:   (1)源文件为591MB, .tar.bz2文件为61MB(10.32%), ...

  4. 【Python】Python AES 对称加密示例

    代码: import sys from Crypto.Cipher import AES from binascii import b2a_hex, a2b_hex AES_SECRET_KEY = ...

  5. kettle job如何利用java的反射机制获取执行的sql语句

    kettle job中的JavaScript如何获取同一个job中SQL步骤的执行语句并让执行语句记录在日志中呢?首先写日志需要用到job中JavaScript写日志的方法,其次是利用java反射机制 ...

  6. jsp回车键登录代码

    $("body").keydown(function(event) { if (event.keyCode == "13") {// keyCode=13是回车 ...

  7. Deeplink做不出效果,那是你不会玩!

    最近魔Sir听一些有些同学说之前用过Deeplink,但效果并没有想象中的那么好,在了解了小伙伴的使用场景后,魔Sir觉得有必要出这么篇东西告诉大家,Deeplink效果差,那是因为你不会玩! 对于已 ...

  8. Shell脚本入门与应用

    编写第一个shell脚本 如同其他语言一样,通过我们使用任意一种文字编辑器,比如 nedit.kedit.emacs.vi 等来编写我们的 shell 程序.程序必须以下面的行开始(必须方在文件的第一 ...

  9. Sublime Text 插件 & 使用技巧

    20 个强大的 Sublime Text 插件http://blog.jobbole.com/58725/ 12个不可不知的Sublime Text应用技巧和诀窍http://segmentfault ...

  10. hrbustoj 1073:病毒(并查集,入门题)

    病毒Time Limit: 1000 MS Memory Limit: 65536 KTotal Submit: 719(185 users) Total Accepted: 247(163 user ...