Description

曾经,ZYJ同学非常喜欢密码学。有一天,他发现了一个很长很长的字符串S1。他很好奇那代表着什么,于是神奇的WL给了他另一个字符串S2。但是很不幸的是,WL忘记跟他说是什么意思了。这个时候,ZYJ不得不求助与伟大的ZP。ZP笑了笑说,这个很神奇的,WL的意思是只要你找到她给你的字符串在那个神奇的字符串的位置,你就会有神奇的发现。ZYJ恍然大悟,原来如此,但是悲剧来了,他竟然不知道怎么找。。。。是的,很囧是不是。所以这时候就需要化身为超级玛丽亚的你现身了,告诉他吧。。。。。。
Input

首先输入一个n。表示有n组测试数据。

每组测试数据有两行。

第一行为字符串S1,长度不大于1000000。

第二行为字符串S2,长度不大于10000,并且长度不小于2。
Output

输出S2在S1的位置。如果有多个位置,只输出第一个位置。

如果找不到,就输出“::>_<::“(不输出双引号)。
Sample
Input

1

ASDFGDF

DF

Output

3

Hint

#include <bits/stdc++.h>using namespace std;char s[1000010], p[1000010];
int Next[1000010];void get_next()
{int j = -1, k = 0;Next[0] = -1;int len = strlen(p);while(k < len){if(j == -1 || s[j] == s[k]){j++;k++;Next[k] = j;}else j = Next[j];}
}
void kmp()
{int i = 0, j = 0;int slen = strlen(s);int plen = strlen(p);while(i < slen && j < plen){if(j == -1 || s[i] == p[j]){i++;j++;}else j = Next[j];}if(j == plen)printf("%d\n", i - j + 1);else printf("::>_<::\n");
}
int main()
{int n;cin >> n;while(n--){cin >> s >> p;get_next();kmp();}return 0;
}

学密码学一定得学程序相关推荐

  1. 学密码学一定得学程序 KMP

    学密码学一定得学程序 题目描述 曾经,ZYJ同学非常喜欢密码学.有一天,他发现了一个很长很长的字符串S1.他很好奇那代表着什么,于是神奇的WL给了他另一个字符串S2.但是很不幸的是,WL忘记跟他说是什 ...

  2. 学密码学一定得学程序(SDUT 2463)

    Problem Description 曾经,ZYJ同学非常喜欢密码学.有一天,他发现了一个很长很长的字符串S1.他很好奇那代表着什么,于是神奇的WL给了他另一个字符串S2.但是很不幸的是,WL忘记跟 ...

  3. 零起点学算法01——第一个程序Hello World!

    零起点学算法01--第一个程序Hello World! Description 题目很简单 输出"Hello World!"(不含引号),并换行. Input 没有输入 Outpu ...

  4. 现学现卖微信小程序开发(二)

    现学现卖微信小程序开发(一) 现学现卖微信小程序开发(三):引入Rx,为小程序插上翅膀 一个Todo应用的小程序版 好的,那么下一步我们就先照猫画虎,新建一个todos文件夹,然后一套四样同名文件准备 ...

  5. 没学c语言可以学python_先学C语言还是Python?资深程序员往往是这样建议的!

    编程是一门手艺, 学习编程首先要有目的,w3cschool先带大家了解一下自己需要学习什么吧! 0.学一门语言 其实学什么语言都可以,因为语言都是互通的,C语言也好, 对于初学者来说,Python 也 ...

  6. 学计算机数据结构重要吗,程序员都说数据结构重要,那么究竟什么是数据结构?...

    原标题:程序员都说数据结构重要,那么究竟什么是数据结构? 大学阶段,如果问大家计算机专业课中哪门课是最重要的?想必有一多半的人都会回答数据结构.既然大家都说数据结构重要,那么究竟什么是数据结构呢?今天 ...

  7. 南昌大学计算机接收调剂的条件,关于2018年河南昌大学学硕士研究生接收调剂程序及要求的须知详情...

    [导读]以下是在职研究生考试网整理的"关于2018年河南昌大学学硕士研究生接收调剂程序及要求的须知详情"全部内容,想要了解更详细的河南昌大学学调剂信息的请看以下正文吧! 一.接收调 ...

  8. python是什么意思中文、好学吗-学习python难吗?是不是越低级的程序越难学,越高级的程序越简单?...

    原标题:学习python难吗?是不是越低级的程序越难学,越高级的程序越简单? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言, ...

  9. 学计算机专业好还是学医专业好,学计算机好还是学医好 程序员的建议就是学医你认为呢...

    程序员劝高考650分堂弟,放弃报计算机去学医,结果隔天蒙了 每年高考过后,考生们的心情都非常忐忑,一边期待自己什么成绩,另外一边又要为选择什么样的专业和学校烦恼,不管怎么焦虑,这都是每个考生都需要经历 ...

最新文章

  1. 数据结构与算法(3)-----队列和栈
  2. ABAP 动态 SQL
  3. Android知识点
  4. IntelliJ IDEA 使用 LiveEdit 插件实现实时可视化前端开发
  5. 用STATSVN统计公司SVN代码修改
  6. python白盒测试_白盒测试方法
  7. python原理_强化学习:原理与Python实现
  8. Rabin-Karp算法详解和实现(python)
  9. mysql 隐秘后门_Phpstudy被暴存在隐藏后门-检查方法
  10. mysql数据库中文选什么数据类型_Mysql 数据类型及选择原则
  11. 【Java】菜鸟教程个人Java学习笔记
  12. java计算机毕业设计幼儿园管理系统源码+系统+mysql数据库+lw文档
  13. 逆向-IDA工具的基本使用
  14. ps里面的css,今天来为大家介绍PS中的图层样式
  15. 【转载】Matlab与C#连接的几种方式比较
  16. [转]来自西弗吉利亚大学li xin整理的CV代码合集
  17. mysql 去除微秒_mysql的微秒补丁 - sihanjishu的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  18. Python-群发推广邮件
  19. R水文包--结果评价_气候变化指数分析
  20. 搭档之家:马云回应天猫双十一数据造假

热门文章

  1. 聚类算法中各种距离的计算与python的具体实现代码
  2. mysql可视化工具-navicat的下载和使用
  3. 苏宁易购Android架构演进史
  4. Getting started with Apache Camel--转载
  5. Java 类的热替换---转载
  6. LESSON 11.4 原理进阶:AdaBoost算法流程详解
  7. 【数据库】SQL极速入门(多种方式查询用户复借次数)
  8. 移动金融业务风控框架及设备风险识别的意义(上)
  9. 自动化特征工程和自动建模在风控场景的应用
  10. Angular 中的依赖注入link