Applese 的取石子遊戲

2021-09-10 09:48:06 字數 755 閱讀 8004

php版本一

題解:std

博弈這是一道經典的博弈問題。

可以使用動態規劃來解決:dp[i][j]表示進行了 i 輪,從前面取走了 j 個時候的最大收益。這個老師上課的時候教過。

實際上,由於題面中的兩個限制條件,可以得出先手有必勝策略:即選擇所有的奇數項或者偶數項。

c++版本一

/*

*@author: stzg

*@language: c++

*/#include #define ri register int

using namespace std;

typedef long long ll;

//typedef __int128 lll;

const int n=100000+10;

const int mod=1e9+7;

const double pi = acos(-1.0);

const double exp = 1e-8;

const int inf = 0x3f3f3f3f;

int t,n,m,k,q;

int ans,cnt,flag,temp;

int a[n];

char str;

int main()

cin>>n;

for(int i=0;i//cout << "hello world!" << endl;

return 0;

}

Applese 的取石子遊戲( nim博弈 )

第一行是乙個正偶數 n,表示石子的堆數。第二行是 n 個正整數 a1,a2,ana1,a2,an,表示每堆石子的個數。示例1複製 4 2 3 3 3複製 2 n 1052 n 105 1 ai 1051 ai 105 ai ai 為奇數博弈論之nim博弈。當 a1 xor a2 xor xor an...

取石子遊戲

如下 include include intmain k b a temp floor k 1.0 sqrt 5 2.0 if temp a printf 0 n else printf 1 n return 0 一 巴什博奕 bash game 只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每...

取石子遊戲

有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子 二是可以在兩堆中同時取走相同數量的石子。最後把石子全部取完者為勝者。現在給出初始的兩堆石子的數目,如果輪到你先取,假設雙方都採取最好的策略,問最後你是勝者還是敗者。in...