题目传送门:点击打开链接
题目可以转换为威佐夫博弈,向左,向下为在一堆石头中取任意数目的石子,向左下可以理解为从两堆石头中取相同数目的石子。直接利用威佐夫博弈结论解题。
#include<bits/stdc++.h>
using namespace std;
#define rep(i,j,k) for(int i=j;i<=k;i++)
typedef long long ll;
int main(){
int a,b;
while(cin>>a>>b){
if(a>b) swap(a,b);
if(a==floor((b-a)*1.6180339887498948)){
cout<<"Lao Wang"<<endl;
}else cout<<"Xiao Ren"<<endl;
}
return 0;
}
本文通过一道编程题引入了威佐夫博弈的概念,并提供了一种使用特定数学比例(黄金分割)来判断博弈双方输赢的方法。该方法适用于解决取石子游戏中特定类型的策略问题。
445

被折叠的 条评论
为什么被折叠?



