hdu 搜索
xws117123
微博地址 http://weibo.com/2139773423/profile?rightmod=1&wvr=6&mod=personinfo
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu 1241
这是一道深搜的题 记住基本步骤之后就比较简单了 抓住一条线不停地向深处搜索直到不能搜索为止 # include char map[150][150]; int m,n; void dfs(int x,int y) { int xx,yy; int i,j; for(i=-1;i<2;i++) for(j=-1;j<2;j++) { xx=x+原创 2013-03-20 14:10:13 · 603 阅读 · 0 评论 -
hdu 1312
这倒也是深搜题 比较麻烦的是对数据的读入时 先给的列后给的行数 # include int m,n; char map[150][150]; int point[4][2]={{0,1},{0,-1},{1,0},{-1,0}}; void bfs(int x,int y) { int i,j,xx,yy; for(i=0;i<4;i++) { xx=x+point[i][原创 2013-03-20 16:18:03 · 697 阅读 · 0 评论 -
hdu 3111
搜索的数独题目 用Judge函数去判断是否满足条件 还有就是深搜的基本步骤就是 { map[][]=i; // 赋值 dfs(k);// 继续搜索 if(ans) return ; //判断 map[][]=0; // 还原之前的内容 }原创 2013-03-23 20:52:48 · 634 阅读 · 0 评论 -
hdu 4414
#include #include char ma[60][60]; int n; int find(int x,int y){ int a=0,b=0,c=0,d=0,i; for( i=1;ma[x-i][y]=='#';i++){ if(ma[x-i][y+1]=='#'||ma[x-i][y-1]=='#') return 0; a=i;原创 2013-05-02 21:46:42 · 648 阅读 · 0 评论 -
hdu 4707
#include #include #include #include #include #include #include #include #include #include # define MAX 999999 using namespace std; vectors[MAX]; int n,dist,T; int DFS(int k,int d原创 2013-09-12 21:02:17 · 641 阅读 · 0 评论 -
hdu 2266
# include # include char a[15]; int len=0; __int64 sum,n; void dfs(int x,__int64 w) { int i; if(x==len) { if(w==n) sum++; return ; } __int64 k=0; for(i=x;i<len;i++) { k=k*10+a[i]-'0'原创 2013-11-10 17:45:13 · 689 阅读 · 0 评论 -
hdu 1010
剪枝 这道题要注意的就是首先要预处理 abs(x1-x2)+abs(y1-y2)的值和T的值比较 还有就是运动中的剪枝 (dis+t-time)%2!=0||dis>t-time 这一步很重要 # include # include # include # include int n,m,t,bx,by,ex,ey,flag=0; char map[10][10]; int原创 2013-12-03 22:18:12 · 671 阅读 · 0 评论 -
hdu 1242 (bfs+优先队列)
# include # include # include using namespace std; int m,n; char map[205][205]; int visit[205][205]; int xx[4]={1,-1,0,0}; int yy[4]={0,0,1,-1}; struct point { int x; int y; int step; friend bo原创 2013-12-06 00:36:37 · 597 阅读 · 0 评论
分享