E.密码(算法选修)
松塔先生决定在他的电脑上下载原神来玩,但是他的队友灵妹妹觉着玩游戏实在是太浪费时间了,于是灵妹妹给松塔先生的原神下载界面上了锁,并丢给松塔先生一串字符。
现在有三种子串:
1.子串是该字符串的前缀
2.子串是该字符串的后缀
3.子串既不是该字符串的前缀也不是该字符串的后缀
密码就是满足这三种条件的最长子串。即密码既是字符串的前缀,又是字符串的后缀,且在字符串中以非前后缀的形式出现过。
但是松塔先生太懒了,宁可睡觉也不解密码,请你帮助他。
特别的,由于灵妹妹特别的狡猾,密码可能根本就不在这串字符串里,如果是这样,输出"Play what play,Roll to study"Input 多行由小写英文字母组成的字符串,长度n(1<=n<=1e6) Output 多行字符串,原神下载页面的密码或者"Play what play,Roll to study"
末尾有换行
Sample Input abcdefabcghaabc
abc
Sample Output abc
Play what play,Roll to study
#include<iostream>using namespace std;
int main()
{ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);string a,b,c,d;while(cin>>a){b=a;int k=0,num=0,kb=-1;reverse(b.begin(),b.end());string A,B;A.empty();B.empty();for(int i=0;i<(int)a.length()-1;i++){A+=a[i];B+=b[i];for(int j=0;j<(int)A.length();j++){if(a[j]==b[A.length()-j-1])k=0;else{k=1;break;}}if(k==0){c=A;int pos=a.find(c,1);if((pos+c.length()-1)<(a.length()-1)){int len=c.length();if(len>kb){kb=len;d=c;num=1;}}elsecontinue;}}if(num==0)cout<<"Play what play,Roll to study"<<endl;elsecout<<d<<endl;}return 0;
}
E.密码(算法选修)相关推荐
- SM4密码算法(附源码)
from:http://blog.csdn.net/mao0514/article/details/52930944 SM4是我们自己国家的一个分组密码算法,是国家密码管理局于2012年发布的.网址戳 ...
- python如何调用文件进行换位加密_python 换位密码算法的实例详解
python 换位密码算法的实例详解 一前言: 换位密码基本原理:先把明文按照固定长度进行分组,然后对每一组的字符进行换位操作,从而实现加密.例如,字符串"Error should neve ...
- JavaScript实现希尔密码 算法(附完 整源码)
JavaScript实现希尔密码 算法 Matrix.js完整源代码 hillCipher.js完整源代码 hillCipher.test.js完整源代码 Matrix.js完整源代码 export ...
- 古典密码算法------替代密码算法
替代密码算法的原理是使用替代法进行加密,就是将明文中的字符用其它字符替代后形成密文.例如:明文字母a.b.c.d ,用D.E.F.G做对应替换后形成密文. 替代密码包括多种类型,如单表替代密码.多明码 ...
- python商用_python实现sm2和sm4国密(国家商用密码)算法的示例
GMSSL模块介绍 GmSSL是一个开源的加密包的python实现,支持SM2/SM3/SM4等国密(国家商用密码)算法.项目采用对商业应用友好的类BSD开源许可证,开源且可以用于闭源的商业应用. 安 ...
- 遗传算法可用什么算法代替_获取可用密码算法的列表
遗传算法可用什么算法代替 您如何了解可用的密码算法? Java规范列出了几种必需的密码,摘要等,但是提供程序通常提供的不止这些. 幸运的是,这很容易了解我们系统上的可用内容. public class ...
- 获取可用密码算法的列表
您如何学习可用的密码算法? Java规范列出了几种必需的密码,摘要等,但是提供程序通常提供的不止这些. 幸运的是,这很容易了解我们系统上的可用内容. public class ListAlgorith ...
- 信息安全工程师笔记-国产密码算法(国密)概念
国产密码算法 国产密码算法有SM1分组密码算法.SM2椭圆曲线公钥密码算法.SM3密码杂凑算法.SM4分组算法.SM9标识密码算法. 算法名称 算法特征描述 SM1 对称加密,分组长度和密钥长度都为1 ...
- php实现凯撒密码加密算法,Python实现的凯撒密码算法示例
本文实例讲述了Python实现的凯撒密码算法.分享给大家供大家参考,具体如下: 一 介绍 凯撒密码是一种非常古老的加密方法,相传当年凯撒大地行军打仗时为了保证自己的命令不被敌军知道,就使用这种特殊的方 ...
- QQ密码算法 用于命令行登录
以下启动QQ调用 QQ.exe /START QQUIN:[QQ号] [算出的密码] /STAT:[是否隐身] 隐身/不隐身: 40/41 例:D:\Program Files\Tencent\QQ ...
最新文章
- java striptrailingzeros_java – 为什么不BigDecimal.stripTrailingZeros()总是删除所有尾随零?...
- rocketMq指定broker ip地址,适合解决云主机部署问题
- python 自定义log
- 超过3w的数据怎么导出来_PDF图纸怎么算量?
- ZYNQ EMIO使用及可重用封装
- 0403互联网新闻 | 哔哩哔哩上线电商类小程序;翼鸥教育和腾讯云联合发布ClassIn Cloud...
- python基础之运算符
- 【CV实战】Ubuntu18.04源码编译安装opencv-3.4.X+测试demo
- 十分钟弄懂最快的APP自动化工具uiautomator2
- Enterprise Library 3.1 简化使用范例一
- 【转】常用 blas 函数
- python机器学习搭建空气质量AQI(air quality index)预测模型
- linux的定时器的使用,linux定时器如何使用方法
- 【Datawhale数据可视化组队学习】Task05 - 样式色彩秀芳华
- 微信小程序8-云函数
- SpringBoot【The request was rejected because the URL was not normalized】
- 当steam教育加入教学大纲之时
- 拜读阮一峰JavaScript教程笔记
- 《大数据时代》-[英]维克托.迈尔-舍恩伯格 肯尼斯.库克耶
- 快手短视频没有才艺可以做主播吗