华为机试——密码截获
2016-01-10 13:45
519 查看
题目描述:字符串运用-密码截获
Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有事会在开始或结束时加入一些无法的字符以防止别国破解。比如进行如下列变化,ABBA->12ABBA,ABA->ABAKK,123321->51233214。因为截获的串太长了,而且存在多种可能的情况(abaaab可看走是aba,或者baaab的加密形式),Cather的工作量实在是太大了,他只能像电脑高手求助,你能帮Cather找出最长的有效密码串吗?
#include<iostream> #include<string> #include<algorithm> using namespace std; int MaxSubstr(const string &a,const string &b,string &c) { int start1,start2; int count=0,Max=0; for(int i=0;i<a.size();i++) for(int j=0;j<b.size();j++) { start1=i,start2=j; while(a[start1]==b[start2] && start1<a.size() && start2<b.size()) { count++; start1++; start2++; } if(count>Max) { Max=count; //begin=i; c.clear(); c=a.substr(i,Max);//注意从i开始 } count=0; } return Max; } int main() { string s1,s2; cin>>s1; s2=s1; string s3; //char* s3=new char[s1.size()+1]; reverse(s2.begin(),s2.end()); cout<<s2<<endl; //int start; int maxLength=MaxSubstr(s1,s2,s3); cout<<s3<<":"; cout<<maxLength<<endl; return 0; }
相关文章推荐
- C# webservice初探
- MEAN 26
- eclipse maven plugin 插件 安装 和 配置
- 关于数据库的数据是String时与前台传进的值比较的问题
- Struts2漏洞修复到2.3.15.1版本步骤
- 自己动手写处理器之第一阶段(2)——MIPS指令集架构的演变
- HDOJ 1755 A Number Puzzle (全排列查找)
- java7 try-with-resource
- 华为机试——整形数组合并
- 安卓和IOS自动化测试工具Ranorex简介
- iOS CLLocationManager定位
- jmeter java request
- Duplicate files copied in APK META-INF/license.txt
- 单例模式
- 华为机试——尼科彻斯定理
- 华为机试——公共子串
- Objective-c下变量和属性的区别
- 2016规划
- Spring MVC 4.+ 使用 Ehcache 超简单配置!!!
- java之httpClient 3.x、AsyncHttpClient1.9.x使用总结