(可直接看下面题目正文)小丑和蝙蝠侠一直都是死敌,但每次较量都败给蝙蝠侠。小丑觉得斗不过这个“正义联盟的大脑”很无趣,便转移目标,决定去找超人玩一玩。于是,小丑联合小丑女绑架了超人的妻子,并向超人释放了稻草人的恐惧毒气。因恐惧毒气的作用超人将自己的妻子看成自己的死敌——毁灭日,他便把怀孕的妻子杀死了。因为小丑在超人妻子的心脏装了一枚藏在超人所在城市大都会的核弹的开关,超人杀死妻子的同时,也引爆了大都会的核弹。悲愤欲绝的他一怒之下杀死了小丑,但却无法复活死去的挚爱。
悲痛欲绝的超人偏执的认为,靠着自己和正义联盟多位英雄的超级武力,一定能够强迫全球停火,使一切战争销声匿迹,于是神奇女侠等超级英雄在超人的带领下开始干预世俗战争和政府事务。
蝙蝠侠坚决反对这样的行为,他直言超人如此行动的本质是在恐吓其他人,虽然小丑是一个穷凶极恶的罪犯,但“一个人的生死不该由我们来决定”。
就在双方争论时,海王统治下的海底王国亚特兰蒂斯因海洋生物被地上人伤害,悍然将自己的军队派往世界各国的海岸线,而超人却采取了以暴制暴的方式来解决这一局面——他与神奇女侠、绿灯侠、沙赞一起将海底的亚特兰蒂斯整个抬起,使其暴露在沙哈拉沙漠的烈日之下,迫使海王退军。
……(欲知后事如何,百度“不义联盟 人间之神”)
题目正文——蝙蝠侠(Batman)为首的反抗联盟简称B,超人(Superman)为首的不义联盟简称S,而不认同超人理念但也不敢反抗的海王为首的中立联盟简称X。一场战斗中,三个联盟都在战场中,因为X的立场并不支持任何一方,所以当X身处B或S的相邻位置时,X能够与B或S交换位置。
现给定起始字符串start和结束字符串end,表示战场上三个联盟的起始站位与最终站位。战斗过程中,战场上三个联盟各自人员的人数可能会因死亡而出现变动。请编写代码,当且仅当存在一系列移动操作使得start可以转换成end时,输出True,否则输出False。
SXXBSXSXB XSBXXSSBX
TrueNote 我们可以通过以下几步将start转换成end: SXXBSXSXB -> XSXBSXSXB -> XSBXSXSXB -> XSBXXSSXB -> XSBXXSSBX