• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






tim11

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2012年8月18日

poj 3278 Catch That Cow (简单的bfs)
摘要: http://poj.org/problem?id=3278(1)稍微考虑就可以知道,要用广搜,广搜次数也不需要控制(因为一定会在远小于10万次以内找到)。(2)有一次RE,*2时没有判断是否超出10万。具体代码:View Code #include<stdio.h>#include<string.h>#include<queue>using namespace std;int n, m;struct node{ int n, t;}e, s;int mark[100100];void bfs(){ int i, j, k; memset(mark, 0, 阅读全文
posted @ 2012-08-18 19:18 tim11 阅读(150) 评论(0) 推荐(0)
 
poj 3009 Curling 2.0 (dfs的应用)
摘要: http://poj.org/problem?id=3009(1)这是一个用球撞石头的游戏,撞到石头,石碎球停。在规定的10次抛球机会下,若求移动到终点就赢,否则算输了(出界直接算输)。(2)每一次的深搜都有四个方向,每个方向要一直走,直到出现以下状况为止: 1)刚要抛球,被墙挡住了(该情况不能抛球); 2) 出界; 3)到达终点; 4) 撞墙。 其中只有第四种情况需要进行深搜,其他情况均不需要。(虽然这很显然,但是案例 通不过的基本上就是因为这个,千万小心)。(3)通过了所有案例,为什么还是WA??小心,注意输入 n,m 顺序问题。题中所给的案例 恰好... 阅读全文
posted @ 2012-08-18 18:51 tim11 阅读(176) 评论(0) 推荐(0)
 
poj 1321 棋盘问题(简单dfs)
摘要: http://poj.org/problem?id=1321(1)和八皇后问题本质时一样的,简单的dfs 。(2)写时没有处理好标记问题(最重要的就是标记)。第一次用了数组 mark[10][10] 做标记,由于没有处理好,WA很多次。 第二次写时,将标技术组定位 mark[10] 。其实就是这样简洁罢了。(3)注意 dp 时是按行进行的,如果有一行没有取到元素,就无法继续 dp ,所以要单独处理。具体代码:View Code #include<stdio.h>#include<string.h>using namespace std;char map[10][10]; 阅读全文
posted @ 2012-08-18 15:08 tim11 阅读(148) 评论(0) 推荐(0)
 
poj 2251 Dungeon Master (简单的bfs,三维空间)
摘要: http://poj.org/problem?id=2251(1)简单题,注意用 flag 标记是否有解。(2)写时没有将第一个元素入队,导致均无解。。具体代码:View Code #include<stdio.h>#include<string.h>#include<queue>using namespace std;int n, m, l;char map[35][35][35];int mark[35][35][35];int px, py, pz;int dir[6][3]={1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,- 阅读全文
posted @ 2012-08-18 13:47 tim11 阅读(154) 评论(0) 推荐(0)
 
poj 3083 Children of the Candy Corn (dfs+bfs)
摘要: http://poj.org/problem?id=3083(1)求绕墙向左走,绕墙向右走,最短路分别是多少。前两个深搜,最后一个广搜(墙不能走)。(2)本题的广搜是最基本的搜索,很简单。但我用了优先队列(虽然可以用,但并不需要),而且将优先队列写错了。。friend bool operator <(node a, node b){ return a.step<b.step;} 这是求“最长路”,而不是求最短路。应该是:friend bool operator <(node a, node b){ return a.step>b.step;}(3)走路的顺序是有讲究的, 阅读全文
posted @ 2012-08-18 13:16 tim11 阅读(131) 评论(0) 推荐(0)
 
poj 2488 A Knight's Journey (简单dfs+打印路径)
摘要: http://poj.org/problem?id=2488(1)注意输入 n,m 顺序,不能弄反了(好几次没注意)。(2) 搜索深度为n*m 或还是n*m-1 要注意判断。(3)打印路径关键是明确数组 after[30][30][2] 的确切含义,本质是记录一组 x, y 对应的下一组 x, y,并不复杂。但是不理解本质时,代码死活都是看不懂的。(4)初始化注意字典序问题:int dir[8][2]={-2,-1,-2,1,-1,-2,-1,2,1,-2,1,2,2,-1,2,1};具体代码:View Code #include<stdio.h>#include<strin 阅读全文
posted @ 2012-08-18 12:53 tim11 阅读(182) 评论(0) 推荐(0)