emmmm因為b的活動範圍比a廣,所以只要不是第一步被a吃掉,終究會贏得勝利的(根本不會有平局嘛)
上面那個結論一定要先確定好,不知道結果的話沒法對抗搜尋的。
然後就.....我們的目的是讓b盡快地贏,a盡可能地多跑一會兒,所以前者取min後者取max。
qaq 但是講道理應該步數不應該是2*n以內嘛.....我也不太明白,等dalao們cts/apio回來之後問問他們我再update吧......
#include#include#include#include#include#define maxn 25
using namespace std;
int n,m,black,white,r1,r2,c1,c2;
int sum[maxn][maxn][maxn][maxn][2][60];
int move_x[4]=,move_y[4]=;
int move_x2[8]=,move_y2[8]=;
inline int search(int r1,int c1,int r2,int c2,int op,int cnt)
int cur_ans;
if(op==0) }
else }
// printf("%d\n",sum[r1][c1][r2][c2][op][cnt]);
sum[r1][c1][r2][c2][op][cnt]=++cur_ans;
return cur_ans;
}int main()
return 0;
}
CQOI2013 新nim遊戲題解
傳統的nim遊戲是這樣的 有一些火柴堆,每堆都有若干根火柴 不同堆的火柴數量可以不同 兩個遊戲者輪流操作,每次可以選乙個火柴堆拿走若干根火柴。可以只拿一根,也可以拿走整堆火柴,但不能同時從超過一堆火柴中拿。拿走最後一根火柴的遊戲者勝利。本題的遊戲稍微有些不同 在第乙個回合中,第乙個遊戲者可以直接拿走...
CQOI2013 新NIM遊戲(線性基)
時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 傳統的nim遊戲是這樣的 有一些火柴堆,每堆都有若干根火柴 不同堆的火柴數量可以不同 兩個遊戲者輪流操作,每次可以選乙個火柴堆拿走若干根火柴。可以只拿一根,也可以拿...
3106 cqoi2013 棋盤遊戲
乙個n n n 2 棋盤上有黑白棋子各一枚。遊戲者a和b輪流移動棋子,a先走。a的移動規則 只能移動白棋子。可以往上下左右四個方向之一移動一格。b的移動規則 只能移動黑棋子。可以往上下左右四個方向之一移動一格或者兩格。和通常的 吃子 規則一樣,當某遊戲者把自己的棋子移動到對方棋子所在的格仔時,他就贏...