早教吧作业答案频道 -->数学-->
这道算法题的公式是什么?把由n个连续的A和n个连续的B(200≥n≥4)组成的字符串通过字符移动操作变成AB相间的字符串.移动规则为:每次移动以两个相邻字符为单位,这两个相邻字符之间的顺序
题目详情
这道算法题的公式是什么?
把由n个连续的A和n个连续的B(200≥n≥4)组成的字符串通过字符移动操作变成AB相间的字符串.移动规则为:每次移动以两个相邻字符为单位,这两个相邻字符之间的顺序以及其它字符之间的顺序不得改变.举例如下:
AAAABBBB →AAA##BBBAB→AAABB##BAB→A##BBAABAB→ABAB##ABAB→ABABABAB
其中,“#”代表空出的位置.
求最少的移动步数.
把由n个连续的A和n个连续的B(200≥n≥4)组成的字符串通过字符移动操作变成AB相间的字符串.移动规则为:每次移动以两个相邻字符为单位,这两个相邻字符之间的顺序以及其它字符之间的顺序不得改变.举例如下:
AAAABBBB →AAA##BBBAB→AAABB##BAB→A##BBAABAB→ABAB##ABAB→ABABABAB
其中,“#”代表空出的位置.
求最少的移动步数.
▼优质解答
答案和解析
最少的移动步骤不清楚,但以下方法可以达到目的——
反过来思考,将AB相间的字符串,每次移动2个相邻字符,最后弄成n个连续的A和n个连续的B的字符串,那就很容易了.例如ABABABAB,只要每次将最后的“AB”,插入第二个“B”的前面就行:
ABABABAB→AABBABAB→AAABBBAB→AAAABBBB
总共要移动n-1对AB,所以可以n-1步达到目的
反过来思考,将AB相间的字符串,每次移动2个相邻字符,最后弄成n个连续的A和n个连续的B的字符串,那就很容易了.例如ABABABAB,只要每次将最后的“AB”,插入第二个“B”的前面就行:
ABABABAB→AABBABAB→AAABBBAB→AAAABBBB
总共要移动n-1对AB,所以可以n-1步达到目的
看了这道算法题的公式是什么?把由n...的网友还看了以下:
已知集合A={x│x∧2+(2-a)x+1=0,x∈R},若A包含于{x│x>0},求实数a的取值 2020-05-15 …
别多问赶紧帮我解决一个题考虑a大于0,a小于0,a等于03种情况计算题如下|a|+|-(-a)|- 2020-05-21 …
已知M={2,a,b}N={2a,2b^2}且N=M.求ab∵N=M∴2a=a或2a=b若2a=a 2020-05-22 …
A.由0和1所组成的符号串的集合B.以0为头符号和尾符号,由0和1所组成的符号串的集合C.以两个0 2020-05-26 …
求有理数a的绝对值时,先要判明a的符号:当a>0时,|a|=a;当a=0时,|a|=0;当a<0时 2020-06-12 …
设有说明语句:chara=ˊ\72ˊ;,则变量a包含的字符数为:A、1个字符B、2个字符C、3个字 2020-06-26 …
C语言程序设计试题求标准答案都是多选1.设有说明语句:chara=ˊ\72ˊ;,则变量a包含的字符 2020-06-26 …
设集合A={x|x^2-4x=0},B={x|ax^2-2x+8=0},若A交B=B,求实数a的取 2020-07-09 …
如果a大于0,b大于0,那么两者和的符号取号,并把绝对值如果a小于0,b小于0,那么两者和的符号取 2020-08-01 …
C语言多选1、设有说明语句:chara=ˊ\72ˊ;,则变量a包含的字符数为:A、1个字符B、2个字 2020-11-07 …