Euclid's Game
Posted xxrlz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Euclid's Game相关的知识,希望对你有一定的参考价值。
博弈论
如果a/b>=2则先手必胜,否则就对(b,a-b)的情况取反 a可以整除b的时候也是必赢的
要保证a>b
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll a,b;
int main()
{
while(cin>>a>>b)
{
if(a==0 && b==0) break;
int times = 1;
if(a<b)
swap(a,b);
while(a%b && a/b==1)
{
a-=b;
if(a<b)
swap(a,b);
times^=1;
}
if(!times)
cout << "Ollie wins" << endl;
else
cout << "Stan wins" << endl;
}
return 0;
}
uva 10368
以上是关于Euclid's Game的主要内容,如果未能解决你的问题,请参考以下文章