bfs dfs
文章平均质量分 56
liujc_
这个作者很懒,什么都没留下…
展开
-
poj 1321 dfs
题目链接:http://poj.org/problem?id=1321 这个感觉跟八皇后问题类似,但是就是多了一种k 代码: #include #include using namespace std; char map[10][10]; int visit[10];//记录列数 int n,k; int m,s; int count; void dfs(int u,int num) /原创 2015-03-14 22:42:52 · 521 阅读 · 1 评论 -
poj bfs 3278
题目链接:http://poj.org/problem?id=3278 大意:牛和人在一条直线上,人可以往左走,也可以往右走,还可以直接跳到两倍的地方。然后求最短花多少时间能捉到牛。明显的bfs。再次复习下。 背景:一开始TLE没有return,直接超时,,自己简直脑残。。然后还是wa,发现居然直接写成了cur.x = 5。。。真想撞墙。。改了后ac 代码: #include #inc原创 2015-03-14 18:26:12 · 437 阅读 · 0 评论 -
hdu 1372 bfs
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1372 变量名不能使用next,这与系统的命名冲突。。(这我还第一次知道orz涨姿势了) 还有就是估计是昨晚刚开完例会回来,脑子有点问题,居然用swtich case 来转换字母。。然后还不小心吧g敲成j 然后WA.. 再次复习bfs的模板:#include #include #include #原创 2015-03-12 15:05:57 · 437 阅读 · 0 评论 -
poj 1915 bfs 模板化
之前好像写过这一题,但是毕竟有点久了,之前也没有完全理解bfs,而且还是用一个数组模拟的队列。。这次复习bfs,希望自己能形成一个模板化的写法。。 #include #include #include int m; int sx,sy; int ex,ey; int visit[301][301]; int d[8][2] = {{2,1},{2,-1},{1,-2},{-1,-2},{-2,-原创 2015-03-12 14:32:22 · 348 阅读 · 0 评论 -
poj 3414 倒水问题 bfs
链接:http://poj.org/problem?id=3414 思路:就是bfs,有六种操作,FILL 1或2,DROP 1或2 ,将1倒到2,将2倒到1。要注意的是要使用标记数组vis[i][j] 表示左边的杯子为i升,右边的杯子为j升,如果已被标记说明之前已经出现这种情况,就不要入队。从(0,0)开始bfs。 因为题目中需要输出如何倒,那么就需要保存路径。。以前似乎自己还没有写过,只是原创 2015-04-29 20:34:55 · 683 阅读 · 0 评论 -
poj 3009 dfs
链接:http://poj.org/status?problem_id=3009&user_id=liujc&result=&language= 之前写的今天打算看一下之前写的搜索。。。结果发现这题并没有写题解。。 题目大意:玩冰球,看10次操作内是否能送到终点,碰到障碍也就是1的时候1消失,冰球停下来。。 如果在过程中碰到终点也是完成。。还有就是要注意要将障碍还原。 别人的题解:http原创 2015-04-29 18:45:15 · 432 阅读 · 0 评论 -
poj 3984 迷宫问题
http://poj.org/problem?id=3984 看world final 的同时水了一发bfs,就是要记录路径。。 记录路径还是不太熟呀。。 上代码: #include #include #include #include #include #include using namespace std; #define M 10 int d1[4] = {0,0,1,原创 2015-05-20 23:49:07 · 396 阅读 · 0 评论 -
八皇后
昨天老师上课让我们手写,,写了,大概思想都没什么问题,但是后来想到,有的地方写错了。。。那个估计不能run出来。。临场马上写代码的能力还是有点弱。。。 回来把课上写的错的改了一下。。 代码:#include #include #include #include using namespace std; #define M 1000 int mp[8][8]; //记录整个图 int v原创 2015-05-21 16:16:21 · 416 阅读 · 0 评论 -
codeforces 14D Two Paths dfs
http://codeforces.com/problemset/problem/14/D 题意: 找出两条路径的长度乘积最大,要保证这两条路径没有公共的点,如果找不到就输出0。 思路: 枚举每一条边,删掉这条边,对于这两个点进行dfs,从每个点开始走找出两条最长的路,path就是这两条路之和。两个点的path相乘判断能不能更新答案。 要小心的就是要从每个点找出两条路,不能直接找下去。这里原创 2015-08-17 14:07:00 · 729 阅读 · 0 评论 -
poj 2251 bfs
再次裸敲一次模板题,虽然1Y但是还是有些问题,有的细节还是调试了一会。。 主要是约束条件一开始敲错了,后来改了过来后,发现步进好像有点问题,又去看了下,发现根本没有更新步进,后来改成更新后,结果还是错的,发现是没有继承之前的步进,反正虽然过了但是就是步数那里写的有点乱,交了后看了下模板,最好在走一步的时候直接继承之前的再加一。 再次复习bfs代码: #include #include #in原创 2015-03-14 17:36:45 · 473 阅读 · 0 评论 -
hdu 1241 dfs
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241 这题感觉别人写的题解比较好,我借鉴一下 链接http://blog.csdn.net/a38017032/article/details/8670929 深度优先搜索,从A出发,A可以到B(也可以是C或者D),然后在从B出发到E(或则F) ,到E以后没有连接的,然后返回B,到F原创 2015-03-10 23:09:01 · 454 阅读 · 0 评论 -
hdu 1253 bfs
链接acm.hdu.edu.cn/showproblem.php?pid=1253 G++超时但是改成C++就过了,一开始没有考虑到走不到或者终点本来就是墙的情况,后来改了后对了。。 后来剪枝,又改了点其他的,结果错了,想了好久才发现走不到的情况丢了。。。 感觉这种迷宫题,应该找到符合解的时候就输出退出,并做个标记,然后在主程序中查看这个标记,如果没有就输出不符合的情况。。这样比较不会乱原创 2015-03-19 15:02:37 · 479 阅读 · 0 评论 -
poj 3126 bfs+素数判定
链接http://poj.org/problem?id=3126 背景:一直WA 感觉完全不知道错在哪里,觉得自己的bfs写的没有错误。。。然后就开始急躁。。去搜了题解。。下次一定要克服这样的心理,要静下心来好好检查每一行代码,不然就会跟上次周赛一样越来越紧张。。要努力去克服!!!!不要总有着想要赶快过题的想法。。。切勿急躁。。 好了。。回到这题。。WA不在bfs而在素数的判定上,,i*i原创 2015-03-16 21:58:52 · 409 阅读 · 0 评论 -
hdu 1010 dfs+奇偶剪枝
http://acm.hdu.edu.cn/showproblem.php?pid=1010 一开始看7*7以为不需要进行剪枝结果。妥妥的超时了。。跑去学习了下奇偶剪枝法。。主要的思想就是当前点到终点所要走的距离应该是他们之间的最短距离加上一个偶数的距离。。不可能是一个奇数。。奇数+偶数=奇数 偶数+偶数=偶数。 所以就能判断总时间必须和最短距离必须同奇偶。。这还可以推广到迷宫中的每一步,原创 2015-03-26 15:06:47 · 658 阅读 · 0 评论 -
poj 1426 bfs+同余模定理
http://poj.org/problem?id=1426 思路:用bfs搜索每一个位数,都只能是0或1,原创 2015-03-26 11:23:57 · 708 阅读 · 0 评论 -
hdu 1728 bfs 最小拐弯数
hdu 1728原创 2015-03-21 15:12:43 · 1589 阅读 · 0 评论 -
hdu 1175 bfs 转弯题
hdu 1175 bfs 转弯题原创 2015-03-21 17:51:55 · 490 阅读 · 0 评论 -
poj 2386 dfs
链接:http://poj.org/problem?id=2386 几乎可以说跟hdu1241一模一样的题。再复习下dfs的写法 就是要注意方向是八个方向都可以。 #include #include using namespace std; char s[110][110]; int n,m; int d[8][2] = {1,0,-1,0,0,1,0,-1,1,1,1,-1,-1,1,-1原创 2015-03-12 14:52:23 · 452 阅读 · 1 评论 -
dfs 是否清除标记
最近在复习dfs ,感觉清除标记一直很晕,觉得有的不能清除标记有的又要清除标记。。花了一些时间整理了下也不知道对不对。。 下午自己写了 个迷宫想了一下,发现有目标态或者说是终点的话就需要清除标记,也就是一个回溯的过程,避免走过的点不能走了。。。 比如说这个情况: S......... .########. .########. .########. .......... #####原创 2015-03-11 17:28:00 · 1402 阅读 · 1 评论 -
codeforces 616C The Labyrinth (dfs)
链接:http://codeforces.com/contest/616/problem/C 题意: 给定一个矩阵,对于每个’*’的地方,假设将它变成 ‘.’ , 那么要求她所在的全为’.’的连通块的大小。 思路: 很容易可能就是想到直接用dfs硬上,就跟那个经典的dfs的找水池数的题目类似,但是就会超时(别问我为什么知道的,我也侥幸想偷懒试过。。) 换一种想法,我们先不修改那个障碍的原创 2016-03-03 16:22:14 · 429 阅读 · 0 评论