
搜索
文章平均质量分 56
Whisker_yu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU1010 Tempter of the Bone (DFS)
写的第二道DFS,这题在上ACM课的时候要求过,但是没好好去写,现在才第一次试着写,虽然还是要借鉴网上AC的代码,但是觉得自己对于如何写搜索有了一定的感受,这题的关键在于剪枝,奇偶性剪枝。#include#includeusing namespace std;int d[4][2]={1,0,-1,0,0,1,0,-1},visit[10][10],flag;int sx,sy,dx原创 2015-08-30 00:47:17 · 466 阅读 · 0 评论 -
HDU1372 Knight Moves(BFS)
做的第一道BFS,和DFS差不多,是有差不多的模板的,基本上每道题的写法都差不多,有时间的话会在博客里写一些模板的东西#include#include#includeusing namespace std;int dir[8][2] = {-2,1,-1,2,1,2,2,1,2,-1,1,-2,-1,-2,-2,-1};int map[10][10],a,b;char str1[原创 2015-09-07 09:33:09 · 453 阅读 · 0 评论 -
HDU1728 逃离迷宫(BFS)
迷宫题,典型的BFS,至于方向的判断,是一直沿一个方向搜索,特别坑的是把xy输入反一下,检查了好久。。。#include#include#includeusing namespace std;int dir[4][2] = {1,0,-1,0,0,1,0,-1};int n,m,map[101][101],x1,x2,yy1,y2,k;char str[101][101];s原创 2015-09-11 10:55:26 · 444 阅读 · 0 评论 -
HDU1045 Fire Net(DFS)
这题让我想起了之前做的八皇后,但是这里还需要判断是否有墙。#include#includeint dir[4][2] = {{1,0},{0,1},{-1,0},{0,-1}};char str[5][5];int map[5][5],count,n,t; struct node{ int x,y;}s[17];int judge(int q){ int flag =原创 2015-09-05 23:33:33 · 509 阅读 · 0 评论 -
HDU1253 胜利大逃亡(DFS)
这道题貌似大家都是用BFS写的,因为最近在练习DFS,所以就用DFS写了,虽然自己觉得已经剪枝了,但是貌似效果不是很好,还是有1000+ms,以后会用BFS再写一次的#include#includeint dir[6][3]={{1,0,0},{-1,0,0},{0,1,0},{0,-1,0},{0,0,1},{0,0,-1}};int a,b,c,flag,map[51][51][5原创 2015-09-05 19:56:49 · 1010 阅读 · 1 评论 -
HDU2717 Catch That Cow(BFS)
BFS的水题,完完全全的模板题,但是一直在思考BFS的剪枝问题,像这道题好像想不到什么能剪枝的地方了。。#include#include#includeusing namespace std;int visit[1000000],n,m;struct node{ int x,s;}p,q;int bfs(int x){ queue Q; p.x = x; p.s =原创 2015-09-09 08:08:52 · 432 阅读 · 0 评论 -
HDU2952 Counting Sheep (DFS)
又是一道简单的DFS。。。没有剪枝#includeusing namespace std;int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}};int t,n,m,sum;char str[105][105];void dfs(int x,int y){ int dx,dy; str[x][y] = '.'; for(int k = 0;k<4;k原创 2015-09-02 09:48:15 · 446 阅读 · 0 评论 -
HDU1181 变形课(DFS)
字符串头尾的搜索。。依旧是简单的DFS,但是觉得输入的方式很特别,用0来判断输入的结束,这点是参考网上的代码的#include#includechar s[100];int i = 0,flag = 0,visit[10000];struct node{ char start,end;} str[10000];void dfs(char ch){ if(ch =原创 2015-09-04 12:09:35 · 571 阅读 · 0 评论 -
HDU1175 连连看(DFS)
简单的DFS,单方向搜索,换方向时次数加一。#include#include"string.h"using namespace std;int dir[4][2] = {{1,0},{0,1},{-1,0},{0,-1}};int n,m,num[1001][1001],flag[1001][1001],x1,x2,yy1,y2,solve,t;void dfs(int x,int原创 2015-09-04 11:25:59 · 466 阅读 · 0 评论 -
HDU1258 Sum It Up(DFS)
DFS的练习,当数字大于和时进行剪枝。这题的关键在于过滤掉之前DFS过的值,这里采用的是记录上一个阶段使用的值,并与当前的值进行比较,不相等才能进行DFS#includeusing namespace std;int num[20],s[20],n,m,flag;void dfs(int x,int cnt,int z){ int d; if(z > n) return原创 2015-09-03 08:35:23 · 455 阅读 · 0 评论 -
HDU1312 Red and Black(DFS)
本来是一道简单的DFS的练习题,但是因为少加一个getchar()导致自己调试了半天。#includeusing namespace std;int dir[4][2] = {{1,0},{0,1},{-1,0},{0,-1}};int n,m,px,py,sum;char str[30][30];void dfs(int x,int y){ int dx,dy;原创 2015-09-02 09:11:28 · 456 阅读 · 0 评论 -
HDU1241 Oil Deposits(DFS)
这一题是简单的DFS就行了,当做练习DFS的题目,进行八个方向的搜索。好像也没什么可以剪枝的了。#includeint dir[8][2]={{1,0},{-1,0},{0,1},{0,-1},{1,1},{-1,1},{1,-1},{-1,-1}};char str[101][101];int m,n;void dfs(int a,int b){ int sa,sb;原创 2015-09-02 08:20:28 · 367 阅读 · 0 评论 -
HDU1238 Substrings (暴力)
这道题在搜索里面可以采取暴力枚举的方法进行一个个的搜索,至于逆序可以直接使用STL里面的reverse反转函数,虽然我在这里并没有使用。剪枝的话,我基本只进行了,如果剩下的长度不大于原本最大的长度,则不再进行搜索。#include#include#include#include using namespace std;int main(){ int n,m; cha原创 2015-09-02 08:06:35 · 505 阅读 · 0 评论 -
HDU1518 Square (DFS)
依旧是DFS的联系,剪枝的情况在于长度和不为4的倍数或者最长的长度大于所需的长度,其他好像也没什么要注意的了。#include#includeint n,m,num[25],sum;bool visit[25],flag;void dfs(int a,int b,int c){ if(flag) return ; if(a == 3){原创 2015-09-02 08:24:16 · 426 阅读 · 0 评论 -
HDU1239 Calling Extraterrestrial Intelligence Again (打表+暴力)
这题首先可以进行素数的打表,一开始一直错,发现是自己的素数表大的有问题,打完表接下来就很简单的进行暴力就行了。#include#includebool sushu[100005];void prime(){ memset(sushu,true,sizeof(sushu)); sushu[0]=sushu[1]=false; for(int i = 2;i*i <原创 2015-09-02 08:17:08 · 517 阅读 · 0 评论 -
HDU2553 N皇后问题(回溯)
具体怎么做的,还不是很清楚,大致就是遇到不符合的返回到上一个符合条件的时候,还有,要进行预处理,不然会TLE#includeusing namespace std;int n,num[11],flag[11],d,sum;void dfs(int x){ if(x == n) sum++; else{ for(int i = 0;i<n;i++){ d = 1;原创 2015-09-02 10:26:08 · 461 阅读 · 0 评论 -
HDU 1016 Prime Ring Problem(DFS)
准备考研的期间做到了PAT上的搜索题,发现以前自己在写HDUOJ的时候貌似都把搜索题选择性的跳过了,所以这一题基本可以说是我写的第一道有关图论的题,在做PAT的时候发现了自己在数据结构操作的不足,接下来的日子里应该会加强对于链表树图的操作,又要开始写HDUOJ的日子了。这一题大致参考了网上别人AC的代码。#include#includeusing namespace std;int n原创 2015-08-28 22:27:54 · 427 阅读 · 0 评论 -
HDU1584 蜘蛛牌(DFS)
简单的DFS,也没什么可以剪枝的,就直接按照模板写就行了#include#include#includeusing namespace std;int visit[11],s[11],flg,x,t;void dfs(int count,int sum){ if(sum >= flg) return ; if(count == 9){ flg = sum; retur原创 2015-09-11 10:56:51 · 497 阅读 · 0 评论