HWOJ-字符串运用-密码截取

来源:互联网 发布:json字符串中url编码 编辑:程序博客网 时间:2024/05/20 15:39
题目:Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),Cathcer的工作量实在是太大了,他只能向电脑高手求助,你能帮Catcher找出最长的有效密码串吗?

输入一个字符串

返回有效密码串的最大长度

样例输入:abba

样例输出:4

解题::这个题目主要是要要将一个字符串取反,并且获取相同长度的字符串,进行比较,我的做法是将长度递减,然后获取字符串进行比较。

#include<iostream>#include<stdio.h>#include<string>const int maxn=10000;using namespace std;int main(){string str1,str2,str3,str4;getline(cin,str1);str2=str1;int i=0,j=0;int len=str2.length();j=len-1;while(i<j){char tep;tep=str2[i];str2[i]=str2[j];str2[j]=tep;i++;j--;}j=len;int k=0;int count=0;while(j>0){for(i=0;i<len;i++){if(i+j<=len){str3=str1.substr(i,j);for(k=0;k<len;k++){if(k+j<=len){str4=str2.substr(k,j);if(str3==str4){if(str3.length()>count)count=str3.length();}}}}}j--;}cout<<count;return 0;}


0 0