码迷,mamicode.com
首页 > 其他好文 > 详细

字符串运用-密码截取,字符串中的最长的回文串

时间:2016-07-12 17:34:01      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

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

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 int main()
 5 {
 6     string str;
 7     while(cin>>str)
 8     {
 9         int max=0;
10         for(int i=0;i<str.size();i++)
11         {
12             int count=0;
13             for(int j=str.size()-1;j>i;j--)
14             {
15                 //判断i到j之间是否为回文串
16                 if(str[i]==str[j])
17                 {
18                     int begin=i;
19                     int end=j;
20                     while(begin<=end)
21                     {
22                         if(str[begin]==str[end])
23                             {
24                             begin++;
25                             end--;
26                         }
27                         else
28                             break;
29                     }//while
30                     if(begin<end)
31                         continue;
32                     else
33                         count=j-i+1;
34                 }//if
35                 
36             }//for
37             if(max<count)
38                 max=count;
39         }//for
40         cout<<max<<endl;
41     }
42 }

 

字符串运用-密码截取,字符串中的最长的回文串

标签:

原文地址:http://www.cnblogs.com/ranranblog/p/5663980.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!