
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 · 535 阅读 · 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 · 649 阅读 · 0 评论 -
hdu 3111
搜索的数独题目 用Judge函数去判断是否满足条件 还有就是深搜的基本步骤就是{ map[][]=i; // 赋值 dfs(k);// 继续搜索 if(ans) return ; //判断 map[][]=0; // 还原之前的内容 }原创 2013-03-23 20:52:48 · 595 阅读 · 0 评论 -
hdu 4414
#include#includechar 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 · 602 阅读 · 0 评论 -
hdu 4707
#include #include #include #include #include #include #include #include #include #include # define MAX 999999using namespace std; vectors[MAX];int n,dist,T;int DFS(int k,int d原创 2013-09-12 21:02:17 · 586 阅读 · 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 · 643 阅读 · 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 · 594 阅读 · 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 · 536 阅读 · 0 评论