FoxAndChess
作者:熊云帆
关键词:模拟
题目简述
已知一个的棋盘,棋盘上的一些位置有L
和R
两种棋子。对于L
棋子,若它左边是空的,则它可以向左移动一格。对于R
棋子,若它右边是空的,则它可以向右移动一格。
输入两个仅由L
,R
,.
三种字符构成的字符串s1,s2。.
表示这个位置是空的。问是否可以从s1经过若干次操作得到s2。保证输入字符串长度小于等于50,s1和s2的长度相等。
算法一
若s1可以经过若干次操作得到s2,那么一定有:
s1中的棋子个数等于s2中的棋子个数。
棋子之间的相对位子不变。
对于对应的两个
L
,s1中L
的位置一定不比s2中的位置更靠左。对于对应的两个
R
,s1中R
的位置一定不比s2中的位置更靠右。我们只需要找出两个字符串中对应的棋子,判断是否合法即可。
时间复杂度:。