1229: 密码截获

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1229: 密码截获相关的知识,希望对你有一定的参考价值。

题目描述:

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

输入:

测试数据有若干行字符串,包括字母,数字,符号。(字母区分大小写)

输出:

与输入相对应每一行输出一个整数,代表最长有效密码串的长度。

样例输入
ABBA
12ABBA
A
ABAKK
51233214
abaaab
样例输出
4
4
1
3
6
5

 1 import java.util.Scanner;
 2 public class Main {
 3     public static int suanFa(int[][] arry,int i,int j,int flag){
 4         if(i<arry.length&&j<arry.length&&arry[i][j]==1){
 5             flag+=1;
 6             arry[i][j]=0;
 7             flag=suanFa(arry,i+1,j+1,flag);
 8         }
 9         return flag;
10     }
11     
12     public static void main(String[] args){
13         Scanner scan=new Scanner(System.in);
14         while(scan.hasNext()){
15             
16             String s=scan.nextLine();
17             int arry[][]=new int[s.length()][s.length()];
18             for(int i=0;i<s.length();i++){
19                 for(int j=s.length()-1,k=0;j>=0;j--,k++){
20                     if(s.charAt(i)==s.charAt(j)){
21                         arry[i][k]=1;
22                     }else{
23                         arry[i][k]=0;
24                     }
25                 }
26             }
27                         
28             int flag=0,max=0;
29             for(int i=0;i<s.length();i++){
30                 for(int j=0;j<s.length();j++){
31                     if(arry[i][j]==1){
32                         max=Math.max(max, suanFa(arry,i,j,flag));
33                         flag=0;
34                         arry[i][j]=0;
35                     }
36                 }
37             }
38             System.out.println(max);
39         }
40     }
41 }

 

解题思路:

最长公共子串

以上是关于1229: 密码截获的主要内容,如果未能解决你的问题,请参考以下文章

修改MySQL密码报错“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements“(代码片段

51nod1229 序列求和 V2

密码学认识(初识+迪菲赫尔曼秘钥交换)

每天学习一点新知识网络安全--截获攻击

密码学:RSA(一)

codevs 1229 数字游戏