密码截获
来源:互联网 发布:网络广告位租 编辑:程序博客网 时间:2024/04/29 06:13
ZJUT 1001
Description:
Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如ABBA,ABA,A,123321等,但是他们有时会在开始或结束时加入一些无关的字符以防别国破解。比如进行下列变化ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba或baaab的加密形式),Cathcer的工作量实在是太大了,他只能向电脑高手求助,你能帮Catcher找出最长的有效密码串吗?
Input:
测试数据有若干行字符串,包括字母(字母区分大小写),数字,符号。
Output:
与输入相对应每一行输出一个整数,代表最长有效密码串的长度。
Sample Input:
ABBA
12ABBA
A
ABAKK
51233214
abaaab
Sample Output:
4
4
1
3
6
5
Source:
Jin Qiwei
遍历所有可能 一个个检查并记录长度
#include <iostream>#include<string> #include<algorithm>using namespace std;bool check(int i,int j,string s);int jisuan(int i,int j,string s);int main(int argc, char *argv[]){ string s; int k; while(cin>>s) { int maxk=0; for(int i=0;i<s.size();i++) { for(int j=i;j<s.size();j++) { k=jisuan(i,j,s); maxk=max(k,maxk); } } cout<<maxk<<endl; } return 0;}bool check(int i,int j,string s){ for(int m=i;m<=j;m++) if(s[m]!=s[j-(m-i)]) return false; return true;}int jisuan(int i,int j,string s){ if(!check(i,j,s)) return 1; int k=0; for(int m=i;m<=j;m++) { if(s[m]==s[j-(m-i)]) k++; } return k;}
0 0
- 密码截获
- 密码截获
- 密码截获
- 密码截获
- 密码截获
- 密码截获
- 密码截获
- hpuoj 1101: 密码截获
- NEUQ 1229: 密码截获
- 密码截获问题
- 如何截获Oracle数据库连接密码
- 利用鼠标键盘钩子截获密码。
- 对密码截获工具的防范
- 利用鼠标键盘钩子截获密码
- 利用鼠标键盘钩子截获密码
- 利用鼠标键盘钩子截获密码
- 利用鼠标键盘钩子截获密码
- 教你如何截获Oracle数据库连接密码
- 我的2016--找工作总结
- 【CodeVS】1792 分解质因数
- ubuntu 包链接,查找常用命令
- Codeforces Round #381 (Div. 2)
- VisualSFM+MeshLab 三维重建全过程记录
- 密码截获
- Bot Framework 概述
- hibernate中连续插入数据出现的SQLTimeoutException
- ReentrantReadWriteLock读写锁的使用
- 257. Binary Tree Paths
- 软件版本命名规范及各阶段说明
- 天猫、淘宝、京东商品详情的图片手动滑动ViewPager
- c3p0连接池连接失败:java.sql.SQLException: Connections could not be acquired from the underlying database!
- Android--Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.