#include<iostream>
#include<stdlib.h>
using namespace std;
int dfs(int m,int mark);
int canmoveto(int a,int b);
int evaluation();
int main()
{
int ans,n,randseed;
cin>>n;
cin>>randseed;
srand(randseed);
ans=dfs(n,1);
cout<<ans<<endl;
return 0;
}
int dfs(int m,int mark)
{
int maxvalue = -10;
int value;
int i;
if(m == 0)
{
return(evaluation());
}
else
{
for(i = 0;i < 4;i++)
{
if(canmoveto(m,i))
{
value = dfs(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);
}
极大极小搜索
最新推荐文章于 2023-01-05 20:17:48 发布