
搜索
incredible_bly
这个作者很懒,什么都没留下…
展开
-
搜索专项:UVa 10318
需要剪枝的dfs。首先是每个bottom最多只按一次,然后发现当dfs进行到第i行时,i-2行的状态已经确定了,所以可以提前判断当前状态是否可以到到最终状态,如果不行则提前退出。另外需要注意的是所求为按下最少的方案,所以还需要小心dfs的顺序。 #include #include #include using namespace std; int r,c; char pat[4][4];原创 2013-05-15 21:12:34 · 542 阅读 · 0 评论 -
搜索专项:LA 5844
一开始用map记录映射dfs,结果TLE了。然后发现第一个串中只会出现’a’-‘z’,所以可以以这26个字母用一个vis记录该字母是否被映射,再记录该字母映射下的字符串就可以了。 #include #include #include using namespace std; char s1[20],s2[60]; int n,n1,n2; int vis[26]; char map[26]原创 2013-05-10 20:25:35 · 534 阅读 · 0 评论 -
搜索专项:LA 3667
可以将需要丈量的状态进行hash,然后进行bfs,这里状态的设计和枚举需要注意。 #include #include #include #include #include using namespace std; const int maxn=60; struct node { int sz; int st; int r[10]; }; int n; int原创 2013-10-19 23:09:17 · 694 阅读 · 0 评论