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.
162 17 34012226
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;
}