来源:http://poj.org/problem?id=2505
题意:Stan和Ollie2个人玩游戏,从1开始,轮流对数累乘2~9,谁先超过给定的定值n谁赢。
分析:Stan想赢,他就会尽量的想取最大值,他会乘9,同样Ollie会尽量的乘小值,这样就会乘2,这样就是一个循环的思路走下去。
#include <iostream>
using namespace std;
int main()
{
long long a;
while(cin>>a)
{
long long n=1;
while(1)
{
n*=9;
if(n>=a)
{
cout<<"Stan wins."<<endl;
break;
}
n*=2;
if(n>=a)
{
cout<<"Ollie wins."<<endl;
break;
}
}
}
cout << endl;
return 0;
}
Stan和Ollie进行累乘游戏,从1开始轮流将数乘以2到9,目标是先达到或超过给定的n值者胜。策略分析揭示了Stan如何利用乘以9来最大化其优势。
332

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



