广搜法极大极小搜索(黑白棋片段)
来源:互联网 发布:p2p平台数据分析指标 编辑:程序博客网 时间:2024/06/03 19:53
Problem A
极大极小搜索
时限:1000ms 内存限制:10000K 总时限:3000ms
描述:
搜索n层,第一层取最大值,先输入两个整数n、randseed,用randseed设置随机数种子。
搜索时每层4个分支,能不能想这个分支走用函数canmoveto()判断,内容如下:
int canmoveto(int m, int dire)
{
return(rand() % 2);
}
评估函数用
int evaluation()
{
return(rand() % 21 - 10);
}
输入:
先输入两个整数n、randseed,
输出:
输出用极大极小搜索n层后的返回的最优值。
输入样例:
6 1234
输出样例:
2
#include<stdio.h>#include<stdlib.h>
int bfs(int m,int mark);
int canmoveto(int m,int dire);
int evaluation();int main()
{
int n,randseed;
scanf("%d%d",&n,&randseed);
srand(randseed);
printf("%d\n",bfs(n,1));
return 0;
}
int bfs(int m,int mark)
{
int i;
int value;
int maxvalue=-10;
if(m==0)
{
return(evaluation());
}
else
{
for(i=0;i<4;i++)
{
if(canmoveto(m,i))
{
value=bfs(m-1,mark*(-1));
if(value*mark>maxvalue)
{
maxvalue=value*mark;
}
}
}
}
return maxvalue*mark;
}
int canmoveto(int m, int dire)
{
return(rand() % 2);
}
int evaluation()
{
return(rand() % 21 - 10);
}
- 广搜法极大极小搜索(黑白棋片段)
- 极大极小搜索+alpha_beta剪枝)
- 五子棋(二)极大极小搜索 + 剪枝
- poj1568 极大极小搜索
- [算法] 极大极小搜索
- 极大极小搜索算法
- 极大极小搜索
- 极大极小搜索
- 极大极小搜索问题
- 极大极小搜索
- 极大极小搜索
- 极大极小搜索
- 极大极小搜索
- 理解极小极大搜索算法
- Poj1568 Find the Winning Move(极大极小搜索)
- 极大极小搜索α-β剪枝(poj 1568)
- 五子棋(人机)-极大极小值搜索算法
- 算法设计——极大极小搜索
- 助你快速踏入高薪职场——2017面试集锦之软件工程与设计模式
- 数据结构Collection-----ArrayList源码解析
- Source Insight 中文注释为乱码解决办法(完美解决,一键搞定)
- java/android 精确计算
- String中subString(int start,int end) index的问题
- 广搜法极大极小搜索(黑白棋片段)
- 数据库创建用户命令
- PBOC命令总结
- 实现经纬度的转化。逻辑可以使用在Unity中
- ThreadLocal和ConcurrentHashMap的不同,扫盲篇
- PHP使用copy函数复制windows文件时出现failed to open stream: Invalid argument in错误
- Math.random()
- jquery 重命名
- LeetCode--Binary Tree Level Order Traversal