题目简介
ultmaster 和 infiniteee 码力都很强,所以他们决定通过游戏来决定谁来验题。
给他们俩一个数 n,现在他俩轮流报数,infiniteee 先报,但是每次报的数只能从 2 到 9 中选取,每次报完数都会把结果累加,如果某个人报完数恰好使累加和大于或等于 n,则他获胜。假设两个人都足够聪明,都会按对自己最有利的方式报数,现在的问题是,如果给定 n,这两个人谁有必胜策略,是 ultmaster 胜出还是 infiniteee 胜出。
说明
写一下前几个数的情况(可以向后递推),容易发现n除以11的余数为0或10时后手必胜,否则先手必胜。
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
(n % 11 == 0 || n % 11 == 10)?printf("ultmaster\n"):printf("infiniteee\n");
return 0;
}