搜索
joy_go
这个作者很懒,什么都没留下…
展开
-
POJ 1321(棋盘问题)
/* * 题意:类似N皇后问题,给定一个n*n的不规则的棋盘, * 求放置K个棋子的放法有多少个,不能放同行或同列 * * 思路:很简单的dfs,用个参数cur处理同行的问题, * 再用个row[10]数组处理同列的问题。 * */ #include #include char dp[10][10]; int vis[10][10],n,k,res,row[10]; void dfs(原创 2012-09-30 23:22:07 · 476 阅读 · 0 评论 -
ZOJ 3675(Trim the Nails)
题意:ZOJ 11月月赛,Robert需要剪指甲,但是他的指甲刀有缺陷,有些是剪不到的, 他的指甲刀形如是一个字符串,符号'.'代表指甲刀这处有缺陷这处的指甲不能修剪到, 符号'*'代表这处是完好的,这处的可以修剪到;如指甲刀**..**,要剪长度为6的指甲, 则剪出来的指甲(1代表该处指甲已修剪,0则没有)是110011,这需要再剪一次; 指甲刀可以左右移动,还可以翻转; 思路原创 2012-12-01 16:20:36 · 761 阅读 · 0 评论 -
HDU 4478(Where is the King)
题意:比较好懂,略。 思路:看完题面第一反应就是用bfs,然后将每个点记录两个信息(到这点距离为奇数,为偶数),也可以理解为将点拆成两个,那么这样就可以将每个点都能访问两次;然后判断能不能最终到达,判断原点能否能到达的条件是:总时间t为偶数或dis[x][y][1] #include #include #include #include #include #include #原创 2013-04-14 20:14:02 · 632 阅读 · 0 评论 -
ZOJ 1002(Fire Net)
/* * 题意:在方格中摆放机器守卫,机器守卫之间 * 不能同行或同列,除非有墙挡着,题目中用X * 表示,机枪只能摆在空闲的地方,用.表示, * 求最多能放多少个机器守卫,和N皇后问题有 * 点像。。。 * * 思路:简单的暴力dfs,怎样暴力自己喜欢, * 下面是代码 * */ #include #include char dp[10][10]; int vis[10][10原创 2012-10-03 21:47:40 · 515 阅读 · 0 评论 -
POJ 3126(Prime Path)
题意:题意开始有点不明啊,然后搜了下题意。。但只看了题意,没看别人怎么做。 题意很明了:从一个四位素数到另一个四位素数,每次变换一个数字,变换之后 仍为素数,最少的步骤。 思路:又是BFS的入门题呃。。。和之前做的有点类似,不过还得做啊,熟能生巧, 虽然算法思路差不多,但是当中的处理有点繁琐,也搞了不少时间,写得慢就证明 代码能力有待提高,做这题还是有意义的;一开始n是以数字的形原创 2012-11-18 22:49:50 · 874 阅读 · 0 评论 -
POJ 3414(Pots)
题意:杯子互相倒水问题,大致题意是给你两个杯子,体积为A,B; 再给你个体积C,然后给你三个操作,问能不能利用这些操作倒出C体积的水。 思路:又是经典BFS的隐式搜索题啊,用BFS枚举所有状态就行了,在LRJ的算 法入门经典里看过类似的题,难是不难,不过这题比书上的恶心多了,一个状态 最多可以有6个状态,就慢慢敲吧,这题敲了我好久好久。。。主要是太繁琐, 太恶心了TAT。。。而且原创 2012-11-18 01:08:32 · 368 阅读 · 0 评论 -
POJ 2488(A Knight's Journey)
题意:骑士游历问题,属于汉密尔顿回路问题,意思是给定一个n*m的 棋盘里,问骑士(走日字形)能不能到达棋盘的所有顶点,而且不能重 复访问同一个顶点。 思路:暴力dfs足矣,不用任何剪枝;题目要求如果有多种答案,输出字 典序最小的那个,每次出发从A1开始,而为了得到字典序最小的那个, 只需走字典序最小的那一格,如果那个格子已经走过,就走字典序第二小 的,依此类推。。。 #inc原创 2012-11-29 14:32:07 · 496 阅读 · 0 评论 -
HDU 4462(Scaring the Birds)
题意:在一个n*n的区域,有m个空地,空地上可以放稻草人, 每个空地的稻草人有一定的覆盖面积,求最少放多少个稻草人 才能覆盖所有的除去空地以外的区域。 思路:暴力DFS就好了。。 感慨:这题做得我各种泪啊,先是无限TLE,然后参考下别人 的代码。。觉得也差不多就是不断的TLE。。用那个人的搜索 方法,没TLE了,开始WA了。。几次之后发现放稻草人的地方 忘处理了,改正后就A了,不过效原创 2012-11-14 20:15:02 · 1130 阅读 · 1 评论 -
HDU2612 (Find a way)
题目就不描述了。。。就是BFS求最短路的题,比较简单,挺适合初学者的。。 第一次用BFS解求最短路问题,本来可以1A的,因为队列长度估计错误, 贡献两次WA,晕。。 #include #include #define SIZE 100000 //因为队列开小了贡献了两次WA,一看是200*200的数据,就改成100000,然后过了,泪啊、、 #define inf 0xffff原创 2012-11-10 22:45:54 · 382 阅读 · 0 评论 -
POJ3278(Catch That Cow)
题意:题目抽象成两个数n,k;n可以-1,+1,*2;求最少的变化次数变成k 思路:很不错的bfs入门题,因为是按着专题来做的,事先已经知道用bfs了, 而且题目描述简单明了(英文不好,最喜欢做题短的。。),很快就敲出来了; 其实这题是隐式图搜索,按n展开其实可以展开成一棵树,这棵树挺有意思的, 如果不知道从哪下手的话,可以先画这棵树出来,对理解很有帮助,不过要 注意重复的数字不要重复画原创 2012-11-12 20:48:05 · 437 阅读 · 0 评论 -
POJ 1753(Flip Game)
题意:给出一个4x4的棋盘状态,求用最少的次数,将棋盘中的棋子 翻成全部白色或黑色(如果要翻动其中一枚棋子,那它的上下左右的 棋子也要翻过来);最初还读错题,以为是全部翻成黑色。。。 囧啊。。读题真的是太不仔细了。。 思路:暴力DFS,枚举所有状态即可,其实一个棋子翻2次就等于没翻 ,所以结果肯定是少于等于16的。 #include #define INF 0xffffff int原创 2012-10-30 22:40:19 · 387 阅读 · 0 评论