hihoCoder1039字符消除【字符串处理】
这道题并没有想到一些比较好的办法 思路挺简单的 就是简单的一个模拟:在每个可以插入的地方分别插入A,B,C,然后再模拟字符消除,得到一个分数,再取max。并不会超时。
要注意一下字符串处理的细节 这个不熟悉字符串的话挺容易发生一些奇奇怪怪的小错误的。我就调了好久QAQ.
另外用了个string里面的insert a.insert(pos,s) 表示在a[pos]前【pos似乎是个迭代器什么的 也没怎么搞懂原理 但是就是这么用】插入字符串s
#include<cstdio>
#include<vector>
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
#define MAXN 100
string a;
int Del(string s)
{string temp="";//删掉之后的字符串int len=s.length();if(len==0) return 0;for(int i=0;i<len;i++){if(s[i]==s[i+1])while(s[i]==s[i+1]&&i<len)//如果相同指针后移,不作处理i++;else temp+=s[i];//不同则不能删去,记录下来}if(temp.length()==len) return 0;return len-temp.length()+Del(temp);
}
int main()
{int T;scanf("%d",&T);while(T--){cin>>a;int ans=-1;int N=a.length();for(int i=0;i<N;i++){string t=a;t.insert(i,"A");ans=max(ans,Del(t));if(ans==N+1)break;t=a;t.insert(i,"B");ans=max(ans,Del(t));if(ans==N+1)break;t=a;t.insert(i,"C");ans=max(ans,Del(t));if(ans==N+1)break;}printf("%d\n",ans);}
}
hihoCoder1039字符消除【字符串处理】相关推荐
- hihoCoder 1039:字符消除(字符串处理)
#1039 : 字符消除 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在玩一个字符消除游戏.给定一个只包含大写字母"ABC"的字符串s,消 ...
- hihoCoder--1039:字符消除
描述 小Hi最近在玩一个字符消除游戏.给定一个只包含大写字母"ABC"的字符串s,消除过程是如下进行的: 1)如果s包含长度超过1的由相同字母组成的子串,那么这些子串会被同时消除, ...
- oracle 字符去除空格,oracle消除字符串空格 | 学步园
trim函数和replace函数可以解决这个问题. replace(str,' ','')就可以消除字符串中所有空格. trim函数 如果提到TRIM函数,最简单的功能就是使用它来去除字符串的行首和行 ...
- 写一个rtrim()函数消除字符串后面的空格字符。编main函数调用测试它。
写一个rtrim()函数消除字符串后面的空格字符.编main函数调用测试它. **提示信息:"请输入一个字符串:" **输出格式要求:"去掉右边的空格后为%s!\n&qu ...
- 1039 字符消除 java_Hihocoder 1039 字符消除
描述 小Hi最近在玩一个字符消除游戏.给定一个只包含大写字母"ABC"的字符串s,消除过程是如下进行的: 1)如果s包含长度超过1的由相同字母组成的子串,那么这些子串会被同时消除, ...
- 正则的实例用法,删除包含某些字符的字符串
a=re.findall('[a-z]system[a-z]', ': Control_7_ CodeSystem: GroupCodeSystem: IdSystem:'.lower()) re.s ...
- MySQL 学习笔记(12)— 数据类型(定长字符、变长字符、字符串大对象、数字类型、日期时间类型、二进制类型)
MySQL 常见的数据类型有字符串类型.数字类型.时间类型.二进制类型.具体的分类如下图: 1. 字符串类型 字符串类型用于存储字符和字符串数据,主要包含三种具体的类型:定长字符串.变长字符串以及字符 ...
- java.sql.Exception:setString 只能处理少于 32766 个字符的字符串
java.sql.Exception:setString 只能处理少于 32766 个字符的字符串 解决方式是 : 升级ojdbc的版本, 将原来的 ojdbc14_10.2.0.2.0.jar ...
- 《C#精彩实例教程》小组阅读07 -- C#字符与字符串
本微信图文详细介绍了C#中的字符与字符串.
- pandas使用pad函数向dataframe特定数据列的每个字符串添加补齐字符或者字符串、向所有字符串的左右两侧填充、直到宽度达到指定要求(both padding)
pandas使用pad函数向dataframe特定数据列的每个字符串添加补齐字符或者字符串.向所有字符串的左右两侧填充.直到宽度达到指定要求(both padding) 目录
最新文章
- 图像滤波常用算法实现及原理解析
- numpy np.sort()函数(指定对某一轴进行排序,返回数组的排序副本)(成对数组不要用这个排,用哪个啥lexsort()或argsort()都行)
- hadoop 2.4.1 集群安装二
- linux安装lrzsz,并使用rz sz 命令
- Spring Data JPA 从入门到精通~Criteria概念的简单介绍
- python 获取文件列表_Python3 - 获取文件夹中的文件列表
- 31. Next Permutation
- linux内核C -- 第10课:内联函数探究
- 人件管理与中国古代史:程序员豫让
- java中的Date和时区
- 基于CList链表类的故障树分析算法的实现
- 程序员希望收到什么礼物
- 实时系统vxWorks - 动态库、静态库建立及调用
- C++游戏编程--模拟键盘打字程序
- 乘风破浪的码农——仿佛身体被掏空
- PMP思维导图—项目经理的角色
- Oracle rtrim、to_char函数格式化数字 小数Format展示,FM999990D99
- 咸鱼Micropython— machine库
- html锚机链接的使用+代码
- kankan转载:anddroid卡牌效果实现