题目:http://www.nocow.cn/index.php/Translate:USACO/shuttle
将左边的所有W移动到最右边,将右边的所有的B移动到最左边。如果通过模拟的话,我觉得会超时,但是并不用模仿每一步移动步骤。
因为可以通过以下几个规则一定可以得到结果。
如果"WB_"模式,则"_BW",如果"_WB",则"BW_", 否则轮流移动左右侧的格子。如
WW_WBBB //左移动
WWBW_BB //跳动B
WWBWB_B //右移动
WWB_BWB //跳动W
W_BWBWB //跳动W
_WBWBWB //左移动
……
代码如下:
运行结果如下: