給出n*n的棋盤,有乙個棋子在左上角,alice和bob輪流推棋子,可以上下左右移動,但是不可以移動到之前經過的位置,輪到乙個人推時,沒法再推,那麼這個人就輸了,假設alice先推,兩個人都是用最優策略推,請問誰會贏?
一眼就看出來博弈,而且十分眼熟,好像校內考過(不好意思的說ac了)
當時是這樣想的,把經過的位置也放上石頭,發現一旦經過的位置已經得到了封閉圖形,並且已經推進了封閉圖形裡面的話,勝負就已經確定了,那麼兩個人都是最聰明的,肯定不會讓對方封閉了圖形,所以最終一定會走完整個棋盤,得到這一點後,我們就直接判斷n*n的奇偶性就好了,因為奇*奇=奇,偶*偶=偶,所以只用判斷n的奇偶性就能判斷誰贏誰輸了
#include#include#include
#include
#include
using
namespace
std;
intmain()
return0;
}
bzoj2463 中山市選2009 誰能贏呢?
time limit 10 sec memory limit 128 mb submit 1258 solved 917 submit status discuss 小明和小紅經常玩乙個博弈遊戲。給定乙個n n的棋盤,乙個石頭被放在棋盤的左上角。他們輪流移動石頭。每一回合,選手只能把石頭向上,下,左...
BZOJ2463 中山市選2009 誰能贏呢?
如圖,對於每一步,都可一看成從1 2的骨牌的一段一道另一端,先手的人的路徑是一系列1 2的骨牌的組合,那麼能否贏就要看能否用1 2的骨牌完全覆蓋即可 當n為偶數時,先手的一定有路走,所以可以贏,當n為奇數時,後手被帶入必贏局,所以先手會輸 貼 var n longint begin assign i...
BZOJ 2463 中山市選2009 誰能贏呢?
time limit 10 sec memory limit 128 mb submit 2502 solved 1843 小明和小紅經常玩乙個博弈遊戲。給定乙個n n的棋盤,乙個石頭被放在棋盤的左上角。他們輪流移動石頭。每一回合,選手只能把石頭向上,下,左,右四個方向移動一格,並且要求移動到的格仔...