poj1184 聪明的打字员(BFS剪枝)
摘要:
http://poj.org/problem?id=1184用字符串s存下数字,并把光标位置做一个字符加到s末尾,用map做标记状态是否出现过,然后bfs即可。不剪枝是过不了的,考虑的两种交换操作都不涉及到2,3,4,5位置,所以这几个位置只能通过up,down来改变。如果这几个位置是和目标状态是不一样的,那肯定是用up,down操作是最优的,而不会执行left,right操作。所以这几个位置只有在和目标状态一样时做left,right操作。#include #include #include #include using namespace std;struct point{ int s.. 阅读全文
posted @ 2013-09-25 19:55 新一 阅读(440) 评论(0) 推荐(0)
浙公网安备 33010602011771号