zoukankan      html  css  js  c++  java
  • 密码截取 (华为2015笔试题及答案)

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

    #include<stdio.h>
    int checkStr(char ch[],int i ,int j)
    {
        int begin=i;
        int end=j;
        for(;ch[i]==ch[j];i++,j--)
        {
            if(j-i<2)
            {
                return end-begin+1;
                break;
            }
        }
        return 0;
    }
    
    void main()
    {
        int len=0,max=1,i,j,num;
        char ch[10000];
        gets(ch);
        len=strlen(ch);
        for( i=0;i<len-1;i++)
            for( j=len-1;j>i;j--)
            {
                 num=checkStr(ch,i,j);
                if(num>max)max=num;
            }
        printf("%d",max);
        
    }
  • 相关阅读:
    非旋Treap——fhq treap
    LCA
    树链剖分
    复习计划
    BZOJ2565: 最长双回文串(回文树)
    回文自动机
    luogu P3796 【模板】AC自动机(加强版)
    【BZOJ2908】 又是nand
    【HDU2460】 Network
    【CF786B】 Legacy
  • 原文地址:https://www.cnblogs.com/rednodel/p/4369237.html
Copyright © 2011-2022 走看看