1889: A multiplication game
| Result | TIME Limit | MEMORY Limit | Run Times | AC Times | JUDGE |
|---|---|---|---|---|---|
| 3s | 8192K | 362 | 139 | Standard |
Stan wins.or
Ollie wins.assuming that both of them play perfectly. There should be one more blank line at the end of your output.
Sample input
162 17 34012226
Output for sample input
Stan wins. Ollie wins. Stan wins.
Submit / Problem List / Status / Discuss
这个题目的关键是了解博弈算法当中的关于最大最小策略。这既是一个博弈论的问题又是一个离散数学的问题。
#include <iostream>
#include<stdio.h>
using namespace std;
int main()
{
int n;
while(scanf("%d",&n)==1)
{
int p=1;
while(p<n)
{
p=p*9;
if(p>=n)
{
cout<<"Stan wins."<<endl;
break;
}
p=p*2;
if(p>=n)
{
cout<<"Ollie wins."<<endl;;
break;
}
}
}
cout<<endl;
return 0;
}
本文介绍了一个名为“乘法游戏”的博弈论问题,通过玩家交替将整数与2到9之间的数字相乘来达到目标值。文章提供了示例输入输出,并分享了C++实现代码,展示了如何判断赢家。
162

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



