1 条题解
-
0
解题思路
因为每次操作是乘以2到9之间的数,我们可以发现,如果n在这个区间内,Stan 先操作,他乘以2到9之间的数后,结果必然会大于9,而 Ollie 再操作时,就会使得结果大于等于n,所以 Ollie 获胜。
如果n在即这个区间内,Stan 先操作,他可以选择合适的数(乘以2到9之间的数),使得结果在内,然后 Ollie 操作后,Stan 就可以让结果大于等于n,所以 Stan 获胜。
以此类推,我们可以发现规律:当n在(k为非负整数)区间内时,若k为偶数,Stan 获胜;若k为奇数,Ollie 获胜。
代码
#include <cstdio> int main() { double n; while(~scanf("%lf",&n)) { while(1) { if(n<=9){ printf("Stan wins.\n"); break; }else if(n<=18){ printf("Ollie wins.\n"); break; } n = n/18; } } return 0; }
- 1
信息
- ID
- 1506
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 3
- 已通过
- 1
- 上传者