poj 3317 Stake Your Claim(极大极小搜索经典 a-b+剪枝+记忆化dp)
2017-09-12 10:36:25         来源：滔滔

poj 3317 Stake Your Claim(极大极小搜索经典 a-b+剪枝+记忆化dp)。

# AC code

```//Source Code

//Problem: 3317     User: zouzhitao
//Memory: 852K      Time: 94MS
//Language: G++     Result: Accepted
Source Code
#include
#include
#include
#include
#define pb push_back
#define mp make_pair
#define PI acos(-1)
#define fi first
#define se second
#define INF 0x3f3f3f3f
#define INF64 0x3f3f3f3f3f3f3f3f
#define random(a,b) ((a)+rand()%((b)-(a)+1))
#define ms(x,v) memset((x),(v),sizeof(x))
#define scint(x) scanf("%d",&x );
#define scf(x) scanf("%lf",&x );
#define eps 1e-10
#define dcmp(x) (fabs(x) < eps? 0:((x) <0?-1:1))
#define SQ(x) (x)*(x)
using namespace std;
typedef long long LL;
typedef long double DB;
typedef pair Pair;
const int maxn = 11;
int n;
int a[maxn][maxn];
std::vector empty;
char s[maxn];
int vis[maxn][maxn];
int dx[] = {-1,1,0,0};
int dy[] = {0,0,1,-1};

bool bound(int x,int y){
return (x)>=0 && (x)=0 && (y) alpha)alpha = val;
if(state ==(1< empty[i])){
ans = alpha;
first = empty[i];
//  std::cout << first.fi <<" " << first.se << '\n';
}
}
if(alpha >=beta){
return alpha;
}
st^=(1<=beta){
return beta;
}
st^=(1< n2){
for(int i=0 ; i```