博弈:极大极小搜索
文章平均质量分 80
BRCOCOLI
初学者 记录成长 Fighting
展开
-
POJ 1085 Triangle War 极大极小+剪枝 -
题目地址:http://poj.org/problem?id=1085 极大极小排序,就是注意当一方有个三角形后可以再走一次 有个小小小的问题结果卡一天了...... 代码如下: #include #include #include #include #include #include #include using namespace std; const int maxn=20+5原创 2016-09-10 22:52:44 · 415 阅读 · 1 评论 -
极大极小搜索
极大极小搜索算法: 用于围棋,五子棋,象棋等棋类,结果有三种可能:胜利、失败和平局。理论上可以穷举所有的走法,这就需要生成整棵博弈树。实际上不可行。因此搜索时可以限 定博弈树的深度,到达该深度则不再往下搜,相当于只往前看 n 步。 如果题意是求出必胜,必败,必和等,那么肯定是全部搜完整一棵搜索树,此题目数据量一般很小 如果是不搜索完,只能求出胜或败或和的概率 思路:原创 2016-09-06 19:25:41 · 1156 阅读 · 0 评论 -
POJ 1568 Find the Winning Move 极大极小搜索+alpha-beta剪枝 -
题解看注释 #include #include #include #include #include #include #include using namespace std; const int INF=1<<30; char str[5][5]; int X,Y,chess; bool check(int x,int y){ bool ok=true; for(int i=1;i原创 2016-09-06 21:02:03 · 520 阅读 · 0 评论 -
POJ 4049 Chess 极大极小搜索 -
题目地址:http://poj.org/problem?id=4049 男孩走最好的棋,只要有一步能赢就能赢 女孩是随意走,只有当所有局面都是男孩赢才能返回赢 一直卡在判断该局面是否赢的函数上,不能根据放置的棋子(x,y)的行列还有对角线判断是否赢 要判断所有的行列对角线才对 #include #include #include #include #include原创 2016-09-07 14:54:33 · 324 阅读 · 0 评论