题目链接:http://118.190.20.162/view.page?gpid=T70
思路:博弈论的知识点
用DFS搜索模拟整个下棋的形式,对每一个可以下棋的位置进行下棋,对每一步进行判断,然后递归回溯, A l i c e Alice Alice的得分最大化, B o b Bob Bob的得分最小化。
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int mp[10][10];
int left(){
//计算还剩下多少空没有填
int cnt=0;
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if(mp[i][j]==0){
cnt++;
}
}
}
return cnt;
}
bool row(int row,int flag){
//判断行是否处于赢的状态
if(mp[row][0]==flag&&mp