字符串基础题四

分类: 高精度字符串 |
一)335.蚱蜢
有一天,一只蚱蜢像往常一样在草地上愉快地跳跃,它发现了一条写满了英文字母的纸带。
蚱蜢只能在元音字母(A、E、I、O、U、Y)间跳跃,一次跳跃所需的能力是两个位置的差。纸带所需的能力值为蚱蜢从纸带开头的前一个位置根据规则跳到纸带结尾的后一个位置的过程中能力的最大值。
蚱蜢想知道跳跃纸带所需的能力值(最小)是多少。如图 所示的纸带所需的能力值(最小)是 4。
http://codeforces.com/predownloaded/93/1f/931fe220d5e33169e0b1bc4f820ecb347277ef29.png【输入格式】
一行一个字符串,字符串长不超过 100。
【输出格式】
一行一个整数,代表(最小)能力值。
【输入样例一】
ABABBBACFEYUKOTT
【输出样例一】
4
【输入样例二】
KMLPTGFHNBVCDRFGHNMBVXWSQFDCVBNHTJKLPMNFVCKMLPTGFHNBVCDRFGHNMBVXWSQFDCVBNHTJKLPMNFVC
【输出样例二】
85
【问题分析】
从头到尾枚举纸带的每一个字母,按照规则模拟蚱蜢在元音字母之间跳跃的过程,打擂台记录能力值。
二)忽略大小写的字符串比较
一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到'\0'为止。如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准(注意:如果某个字符串遇到'\0'而另一个字符串还未遇到'\0',则前者小于后者)。但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如"Hello"和"hello"在忽略字母大小写时是相等的。请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。
输入
输入为两行,每行一个字符串,共两个字符串。(每个字符串长度都小于80)
输出
如果第一个字符串比第二个字符串小,输出一个字符"<";
如果第一个字符串比第二个字符串大,输出一个字符">";
如果两个字符串相等,输出一个字符"="。
样例输入
Hello, how
are you?
hello, How
are you?
样例输出
=
三)openjudge字符替换
把一个字符串中特定的字符全部用给定的字符替换,得到一个新的字符串。
输入
只有一行,由一个字符串和两个字符组成,中间用单个空格隔开。字符串是待替换的字符串,字符串长度小于等于30个字符,且不含空格等空白符;
接下来一个字符为需要被替换的特定字符;
接下来一个字符为用于替换的给定字符。
输出
一行,即替换后的字符串。
样例输入
hello-how-are-you o O
样例输出
hellO-hOw-are-yOu
四)简单密码
Julius
Caesar曾经使用过一种很简单的密码。对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文。比如字符A用F来代替。如下是密文和明文中字符的对应关系。
密文
A B C D E F
G H I J K L M N O P Q R S T U V W X Y Z
明文
V W X Y Z A
B C D E F G H I J K L M N O P Q R S T U
你的任务是对给定的密文进行解密得到明文。
你需要注意的是,密文中出现的字母都是大写字母。密文中也包括非字母的字符,对这些字符不用进行解码。
输入
一行,给出密文,密文不为空,而且其中的字符数不超过200。
输出
输出一行,即密文对应的明文。
样例输入
NS BFW,
JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX
样例输出
IN WAR,
EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES
五)单词翻转
输入一个句子(一行),将句子中的每一个单词翻转后输出。
输入
只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。
输出
翻转每一个单词后的字符串,单词之间的空格需与原文一致。
样例输入
hello
world
样例输出
olleh
dlrow
六)字符串P型编码
给定一个完全由数字字符('0','1','2',…,'9')构成的字符串str,请写出str的p型编码串。例如:字符串122344111可被描述为"1个1、2个2、1个3、2个4、3个1",因此我们说122344111的p型编码串为1122132431;类似的道理,编码串101可以用来描述1111111111;00000000000可描述为"11个0",因此它的p型编码串即为110;100200300可描述为"1个1、2个
0、1个2、2个0、1个3、2个0",因此它的p型编码串为112012201320。
输入
输入仅一行,包含字符串str。每一行字符串最多包含1000个数字字符。
输出
输出该字符串对应的p型编码串。
样例输入
122344111
样例输出
1122132431
七)判断字符串是否为回文
输入一个字符串,输出该字符串是否回文。回文是指顺读和倒读都一样的字符串。
输入
输入为一行字符串(字符串中没有空白字符,字符串长度不超过100)。
输出
如果字符串是回文,输出yes;否则,输出no。
样例输入
abcdedcba
样例输出
yes
有一天,一只蚱蜢像往常一样在草地上愉快地跳跃,它发现了一条写满了英文字母的纸带。
蚱蜢只能在元音字母(A、E、I、O、U、Y)间跳跃,一次跳跃所需的能力是两个位置的差。纸带所需的能力值为蚱蜢从纸带开头的前一个位置根据规则跳到纸带结尾的后一个位置的过程中能力的最大值。
蚱蜢想知道跳跃纸带所需的能力值(最小)是多少。如图 所示的纸带所需的能力值(最小)是 4。
http://codeforces.com/predownloaded/93/1f/931fe220d5e33169e0b1bc4f820ecb347277ef29.png【输入格式】
一行一个字符串,字符串长不超过 100。
【输出格式】
一行一个整数,代表(最小)能力值。
【输入样例一】
ABABBBACFEYUKOTT
【输出样例一】
4
【输入样例二】
KMLPTGFHNBVCDRFGHNMBVXWS
【输出样例二】
85
【问题分析】
从头到尾枚举纸带的每一个字母,按照规则模拟蚱蜢在元音字母之间跳跃的过程,打擂台记录能力值。
二)忽略大小写的字符串比较
输入
输出
样例输入
样例输出
三)openjudge字符替换
输入
输出
样例输入
样例输出
四)简单密码
输入
输出
样例输入
样例输出
五)单词翻转
输入
输出
样例输入
样例输出
六)字符串P型编码
输入
输出
样例输入
样例输出
七)判断字符串是否为回文
输入一个字符串,输出该字符串是否回文。回文是指顺读和倒读都一样的字符串。
输入
输出
样例输入
样例输出
前一篇:数组基础题五