zoukankan      html  css  js  c++  java
  • hihoCoder 1039字符消除 (字符串处理)

    http://hihocoder.com/problemset/problem/1039

    因为字符串只由3种字母组成,并且插入的字符也只能是这三种字符的其中一个,那么可以考虑枚举这三个字符其中一个字符到字符串中任意一个位置。如果可以消除则不断消除,最后更新求得一个最大值。

    首先介绍这个函数  substr    substr(start,length);  返回一个从指定位置开始,并具有指定长度的字符串。

    start 必选。所需子字符串的起始位置,字符串的第一个字符的索引为0.

    length可选项。返回子字符串中包含的字符数。

    如果length为0或负数,将返回一个空字符串,如果没有指定该参数,则子字符串会延续到字符串的末尾。

     1 #include<iostream>
     2 #include<string>
     3 #include<cstdio>
     4 using namespace std;
     5 
     6 char in[3]={'A','B','C'};
     7 string getstring(string str)
     8 {
     9     int l=str.length();
    10     if(l<=1) return str; //这里需要注意
    11     string ss="";
    12     for(int i=0;i<l-1;i++)
    13     {
    14         if(str[i]==str[i+1])
    15         {
    16             while(i+1<l&&str[i]==str[i+1]) i++;
    17         }
    18         else ss+=str[i];
    19     }
    20     if(str[l-1]!=str[l-2]) ss+=str[l-1];
    21     return ss;
    22 }
    23 int main()
    24 {
    25     //freopen("a.txt","r",stdin);
    26     int t,max;
    27     string s;
    28     cin>>t;
    29     while(t--)
    30     {
    31         cin>>s;
    32         max=0;
    33         for(int i=0;i<s.length()-1;i++)
    34         {
    35             for(int j=0;j<3;j++)  //两重循环枚举。
    36             {
    37                 string str=s.substr(0,i+1)+in[j]+s.substr(i+1);
    38                 int len=str.length();
    39                 str=getstring(str);
    40                 while(len>str.length())
    41                 {
    42                     len=str.length();
    43                     str=getstring(str);
    44                 }
    45                 if(s.length()-len+1>max)  max=s.length()-len+1;
    46             }
    47         }
    48         cout<<max<<endl;
    49     }
    50     return 0;
    51 }
  • 相关阅读:
    hdu1754线段树入门
    hdu1247 字典树模板
    完全背包 poj 1384
    hdu 1541 树状数入门
    hdu 2665 划分树模板
    winhex分析磁盘目录结构(未完待续)
    取出表单中元素的js代码
    c语言检测cpu大小端模式
    firefox的cookie
    c移位实现求余
  • 原文地址:https://www.cnblogs.com/nowandforever/p/4415647.html
Copyright © 2011-2022 走看看