首页 > 编程语言 >牛客[编程题] HJ32 密码截取

牛客[编程题] HJ32 密码截取

时间:2023-11-10 14:12:15浏览次数:34  
标签:密码 int 截取 牛客 Length 复制 && HJ32 line

HJ32 密码截取 中等  通过率:28.75%  时间限制:1秒  空间限制:32M  

描述

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

输入描述:

输入一个字符串(字符串的长度不超过2500)

输出描述:

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

示例1

输入:
ABBA
输出:
4

示例2

输入:
ABBBA
输出:
5

示例3

输入:
12HHHHA
输出:
4

 

 using System;
    public class Program
    {
        public static void Main()
        {
            string line;int maxLen=0, tempLen1=0, tempLen2 = 0;
            while ((line = System.Console.ReadLine()) != null)
            { // 注意 while 处理多个 case
                for (int i = 0; i < line.Length; i++)
                {
                    //ABBA型
                    for (int j = 1; j < line.Length; j++)
                    {
                        if (i + j < line.Length && i + 1 - j >= 0 && line[i + j] == line[i + 1 - j])
                        {
                            tempLen1 = 2 * j;
                        }
                        else break;
                    }
                    //ABCBA型
                    for (int j = 1; j < line.Length; j++)
                    {

                        if (i + j < line.Length && i - j >= 0 && line[i + j] == line[i - j])
                        {
                            tempLen2 = 2 * j + 1;
                        }
                        else break;
                    }
                    if (maxLen<tempLen1)
                    {
                        maxLen = tempLen1;
                    }
                    if (maxLen < tempLen2)
                    {
                        maxLen = tempLen2;
                    }
                }
                Console.WriteLine(maxLen);
            }
        }
    }

 

标签:密码,int,截取,牛客,Length,复制,&&,HJ32,line
From: https://www.cnblogs.com/zhangdezhang/p/17823970.html

相关文章

  • 牛客[编程题] HJ69 矩阵乘法
    HJ69矩阵乘法中等  通过率:48.01%  时间限制:1秒  空间限制:32M  描述如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的矩阵的大小不超过100*100输入描述:第一行包含一个正整数x,代......
  • 牛客[编程题] HJ107 求解立方根
    HJ107求解立方根中等  通过率:27.15%  时间限制:1秒  空间限制:32M 描述计算一个浮点数的立方根,不使用库函数。保留一位小数。数据范围:|val|\le20\∣val∣≤20 输入描述:待求解参数,为double类型(一个实数)输出描述:输出参数的立方根。保留一位小数......
  • 表连接和截取字段函数
    selecte.ename,d.dnamefromempeleftjoindeptdone.DEPTNO=d.DEPTNOwheresubstr(e.ename,2,1)='M'; 函数之前需要干干净净,图中 表.函数不符合语法报错了  ......
  • 牛客[编程题] HJ29 字符串加解密
    HJ29 字符串加解密中等  通过率:25.47%  时间限制:1秒  空间限制:32M 描述对输入的字符串进行加解密,并输出。加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则把该数......
  • 牛客[编程题] HJ27 查找兄弟单词
    HJ27 查找兄弟单词  描述定义一个单词的“兄弟单词”为:交换该单词字母顺序(注:可以交换任意次),而不添加、删除、修改原有的字母就能生成的单词。兄弟单词要求和原来的单词不同。例如:ab和ba是兄弟单词。ab和ab则不是兄弟单词。现在给定你n个单词,另外再......
  • 牛客[编程题] HJ26 字符串排序
    HJ26 字符串排序  中等  通过率:39.52%  时间限制:1秒  空间限制:32M 描述编写一个程序,将输入字符串中的字符按如下规则排序。规则1:英文字母从A到Z排列,不区分大小写。如,输入:Type输出:epTy规则2:同一个英文字母的大小写同时存在时,按照输入......
  • 牛客[编程题] HJ25 数据分类处理
     描述信息社会,有海量的数据需要分析处理,比如公安局分析身份证号码、 QQ 用户、手机号码、银行帐号等信息及活动记录。采集输入大数据和分类规则,通过大数据分类处理程序,将大数据分类输出。  数据范围:1\leI,R\le100\1≤I,R≤100  ,输入的整数大小满足 0\lev......
  • 牛客[编程题]坐标移动
     https://www.nowcoder.com/questionTerminal/119bcca3befb405fbe58abe9c532eb29publicclassProgram{publicstaticvoidMain(){stringline;while((line=System.Console.ReadLine())!=null){//注意while处理多个casestr......
  • 匹配截取
    [root@newrain~]#echo${url#*.} 从前往后匹配到“.”最短匹配sina.com.cn[root@newrain~]#echo${url##*.} 从前往后匹配到“.”,最长匹配cn[root@newrain~]#echo${url%.*} 从后往前匹配到“.”,最短匹配www.sina.com[root@newrain~]#echo${url%%.*} 从......
  • js substring截取字符串,不信你看不懂,简单案例分享
     在JavaScript中,substring 方法用于截取字符串。它返回字符串的一个子集,即原始字符串中介于两个指定下标之间的字符。substring 方法的语法如下:str.substring(indexStart[,indexEnd])indexStart:必需的参数,表示要提取的第一个字符的下标(位置)。如果 indexStart 大于 ind......