HDU 4023 博弈 貪心 模擬 Game

2022-05-22 10:12:08 字數 1288 閱讀 2183

如果硬要說這算是博弈題目的話,那這個博弈是不公平博弈(partizan games),因為雙方面對同乙個局面做出來的決策是不一樣的。

我們平時做的博弈都是公平博弈(impartial games),所以在這道題裡面,那些必勝必敗狀態,sg函式sg定理都派不上用場了。

但是,這道題是可以貪心的。

比如第乙個圖案對於alice來說是安全穩定的,因為bob不會跟他去搶位置,所以alice可以省到最後去放。同樣地,bob可以將第2個圖案省到最後再去放。

比如說第15個圖案,如果能搶先佔到的話會很划算的,因為如果一方佔到,不光對方放不了了,自己還會多乙個穩定位。

更詳細的分析見這:

我發現大家的思路都是按照這個來的。

1 #include 2

3int a[16];4

5int

main()615

int ta = a[5] + a[6], tb = a[3] + a[4

];16

if(ta > tb)//

alice搶5,6, bob搶3,4

1725

else a += ta / 2;26

}27else

if(ta

2836

else b += tb / 2;37

}38//兩人瓜分11,12,13,14

39int t = a[11] + a[12] + a[13] + a[14

];40

if(t % 2 != 0) now = 1 -now;

41//

alice搶7,8, bob搶9,10

42 ta = a[7] + a[8]; tb = a[9] + a[10

];43

if(ta

4452

else b += tb / 2;53

}54else

if(ta >tb)

5563

else a += ta / 2;64

}6566bool

win;

67if(now == 0) win = b >= a ? false : true;68

else win = a >= b ? true : false

;69 printf("

case #%d: %s\n

", kase, win ? "

alice

" : "

bob"

);70}71

72return0;

73 }

**君

hdu1079博弈 規律

不論是月份加一,還是日期加一,奇偶性 月 天 都會改變,2月也是一樣,9月30日和11月30日例外。那麼目標日期是11月4日,為奇數。初始日期如果為偶數的話,先者必勝。考慮特殊是日期,兩個特殊日期本來為奇數,移動一步還是奇數。那麼會不會在中途經過這兩個日期呢。如果本來為偶數,如果經過特殊日期就會改變...

hdu5754各種博弈

官方題解 我們依次分析每一種棋子。王。首先注意乙個3 3的棋盤,開始在 1,1 問走到 3,3 誰有必勝策略。窮舉所有情況,容易發現這是後手贏。對於nn和mm更大的情況,我們把橫座標每隔3 縱座標每隔3的點都畫出來,這些點都是符合後手勝的。因為無論先手怎麼移動,後手都能重新移動到這些格仔,直到到了終...

各種博弈 HDU5754

題意 乙個西洋棋棋盤,有四種棋子,從 n,m 走到 1,1 走到 1,1 的人贏,先手贏輸出b,後手贏輸出g,平局輸出d。題解 先把從 n,m 走到 1,1 看做是從 1,1 走到 n,m 四種棋子的規則如下 1 王 king 橫 豎 斜都可以走,每次限走一格 2 車 rook 橫 豎均可走,不能斜...