摘要: 题意就是有个4*4的棋盘,上面有黑白两面的棋子,然后你可以选一个点,翻转这个点及他上下左右的棋子(如果有的话),求最小步数可以翻成全白或全黑,如果无法成功输出impossible。 如果是最少步数的话应该用到广搜,因为一个棋子只有正反两面,所以可以用二进制的形式存储棋盘的状态,参考了某大牛的代码,没有明显的用到DFS,但和DFS的效果是一样的,而且这样也使得代码变短了好多。//poj 1753//2013-10-16-21.35#include int ans;int cnt;void search(int x, int sta, int cnt){ if (sta == 65535... 阅读全文
posted @ 2013-10-16 21:45 xindoo 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 初期:一.基本算法: (1)枚举. (poj1753解题报告,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法: (1)图的深度优先遍历和广度优先遍历. (2)最短路径算法(dijkstra,bellman-ford,floyd,heap+dijkstra) (poj1860,poj3259,poj1062,poj2253,poj1125,poj2240) (3)最... 阅读全文
posted @ 2013-10-16 15:02 xindoo 阅读(150) 评论(0) 推荐(0) 编辑