题意:
有一个44的格子,两个人玩游戏,每一次都可以选择一个22的格子。每一轮先手选择尽可能使结果大的格子,后手选择尽可能使结果小的格子,选完后逆时针旋转这个格子,记录每次选的和,输出最后的和
思路:时间复杂度为9^6,可以用搜索暴力
每一个人都选择自己当前最优的状态,先手选择最大的,后手选择最小的
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<vector>
#include<algorithm>
#include<map>
#include<cmath>
using namespace std;
#define ll long long
#define inf 0x3f3f3f3f
#define pi acos(-1.0)
const int mod=1e9+7;
const int M=1e5 + 10;
int a[5][5];
int k;
int sum(int i,int j)
{
return a[i][j] + a[i][j+1] + a[i+1][j] + a[i+1][j+1];
}
void ni(int i,int j) //逆时针
{
int tmp1,tmp2,tmp3,tmp4;
tmp1=a[i][j];
tmp2=a[i][j+1];
tmp3=a[i+1][j];
tmp4=a[i+1][j+1];
a[i][j] = tmp2;
a[i][j+1] = tmp4;
a[i+1][j] =