学密码学一定得学程序
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;
}
学密码学一定得学程序相关推荐
- 学密码学一定得学程序 KMP
学密码学一定得学程序 题目描述 曾经,ZYJ同学非常喜欢密码学.有一天,他发现了一个很长很长的字符串S1.他很好奇那代表着什么,于是神奇的WL给了他另一个字符串S2.但是很不幸的是,WL忘记跟他说是什 ...
- 学密码学一定得学程序(SDUT 2463)
Problem Description 曾经,ZYJ同学非常喜欢密码学.有一天,他发现了一个很长很长的字符串S1.他很好奇那代表着什么,于是神奇的WL给了他另一个字符串S2.但是很不幸的是,WL忘记跟 ...
- 零起点学算法01——第一个程序Hello World!
零起点学算法01--第一个程序Hello World! Description 题目很简单 输出"Hello World!"(不含引号),并换行. Input 没有输入 Outpu ...
- 现学现卖微信小程序开发(二)
现学现卖微信小程序开发(一) 现学现卖微信小程序开发(三):引入Rx,为小程序插上翅膀 一个Todo应用的小程序版 好的,那么下一步我们就先照猫画虎,新建一个todos文件夹,然后一套四样同名文件准备 ...
- 没学c语言可以学python_先学C语言还是Python?资深程序员往往是这样建议的!
编程是一门手艺, 学习编程首先要有目的,w3cschool先带大家了解一下自己需要学习什么吧! 0.学一门语言 其实学什么语言都可以,因为语言都是互通的,C语言也好, 对于初学者来说,Python 也 ...
- 学计算机数据结构重要吗,程序员都说数据结构重要,那么究竟什么是数据结构?...
原标题:程序员都说数据结构重要,那么究竟什么是数据结构? 大学阶段,如果问大家计算机专业课中哪门课是最重要的?想必有一多半的人都会回答数据结构.既然大家都说数据结构重要,那么究竟什么是数据结构呢?今天 ...
- 南昌大学计算机接收调剂的条件,关于2018年河南昌大学学硕士研究生接收调剂程序及要求的须知详情...
[导读]以下是在职研究生考试网整理的"关于2018年河南昌大学学硕士研究生接收调剂程序及要求的须知详情"全部内容,想要了解更详细的河南昌大学学调剂信息的请看以下正文吧! 一.接收调 ...
- python是什么意思中文、好学吗-学习python难吗?是不是越低级的程序越难学,越高级的程序越简单?...
原标题:学习python难吗?是不是越低级的程序越难学,越高级的程序越简单? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言, ...
- 学计算机专业好还是学医专业好,学计算机好还是学医好 程序员的建议就是学医你认为呢...
程序员劝高考650分堂弟,放弃报计算机去学医,结果隔天蒙了 每年高考过后,考生们的心情都非常忐忑,一边期待自己什么成绩,另外一边又要为选择什么样的专业和学校烦恼,不管怎么焦虑,这都是每个考生都需要经历 ...
最新文章
- 数据结构与算法(3)-----队列和栈
- ABAP 动态 SQL
- Android知识点
- IntelliJ IDEA 使用 LiveEdit 插件实现实时可视化前端开发
- 用STATSVN统计公司SVN代码修改
- python白盒测试_白盒测试方法
- python原理_强化学习:原理与Python实现
- Rabin-Karp算法详解和实现(python)
- mysql 隐秘后门_Phpstudy被暴存在隐藏后门-检查方法
- mysql数据库中文选什么数据类型_Mysql 数据类型及选择原则
- 【Java】菜鸟教程个人Java学习笔记
- java计算机毕业设计幼儿园管理系统源码+系统+mysql数据库+lw文档
- 逆向-IDA工具的基本使用
- ps里面的css,今天来为大家介绍PS中的图层样式
- 【转载】Matlab与C#连接的几种方式比较
- [转]来自西弗吉利亚大学li xin整理的CV代码合集
- mysql 去除微秒_mysql的微秒补丁 - sihanjishu的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
- Python-群发推广邮件
- R水文包--结果评价_气候变化指数分析
- 搭档之家:马云回应天猫双十一数据造假