![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dfs
Beating_spark
Even a beating_spark can light a fire of wisdom!
展开
-
dfs回溯的注意事项
回溯可能是多个量回溯 别忘了 比如void dfs(int n,int temp){ if(n==10) {if(temp<min) min=temp;return;} if(temp>min) return; for(int i=1;i<=9;i++) if(!vis[i]) { int j;原创 2016-03-19 10:16:59 · 1369 阅读 · 0 评论 -
hdu1584 dfs的题目
这个题目还是挺有意思的,回溯,剪枝。就是枚举所有的移动的情况,然后找出最小的。代码如下,有助于新人提高;#include "stdio.h"#include "string"#include "stdlib.h"int min=10000;//初始化min,不停的更新,知道最后dfs的一定是最小值int dist[11];//位置标记数组int vis[11];//标记访问数原创 2016-03-13 11:50:15 · 256 阅读 · 0 评论 -
dfs的技巧
dfs很多人觉得难写,其实只要掌握好规律即可:1,每个dfs函数中必然有另外一个指向next的dfs函数2,用好dfs的参数传递;3,回溯比如刚开始标记访问,dfs一组之后结束标记访问4,技巧性的,如果感觉写的很乱,可以在前边写剪枝与条件判断,后面再写递归原创 2016-03-13 12:00:29 · 598 阅读 · 0 评论 -
dfs的姿势 尽量减少不必要的搜索
好长时间不做搜索了 ,虽然做了一个简单的果断tle 和别人代码一比就看出高低了 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 1e9+7原创 2016-07-21 22:03:30 · 241 阅读 · 0 评论 -
The Rotation Game uva1343
#include #include #include #include #include #include using namespace std;#define N 10int n;int mat[N][N];int pos=0;int ans[100];bool read(){ if(cin>>mat[1][3]&&mat[1][3]) { c原创 2016-10-08 03:49:23 · 236 阅读 · 0 评论