FoxAndChess

作者:熊云帆

关键词:模拟

题目简述

​ 已知一个的棋盘,棋盘上的一些位置有LR两种棋子。对于L棋子,若它左边是空的,则它可以向左移动一格。对于R棋子,若它右边是空的,则它可以向右移动一格。

​ 输入两个仅由L,R,.三种字符构成的字符串s1,s2。.表示这个位置是空的。问是否可以从s1经过若干次操作得到s2。保证输入字符串长度小于等于50,s1和s2的长度相等。

算法一

​ 若s1可以经过若干次操作得到s2,那么一定有:

  • s1中的棋子个数等于s2中的棋子个数。

  • 棋子之间的相对位子不变。

  • 对于对应的两个L,s1中L的位置一定不比s2中的位置更靠左。

  • 对于对应的两个R,s1中R的位置一定不比s2中的位置更靠右。

    我们只需要找出两个字符串中对应的棋子,判断是否合法即可。

    时间复杂度:

results matching ""

    No results matching ""