这一道题看起来十分复杂,没有规律可寻,但是我们可以从样例入手。首先,样例都是 的倍数,但是答案却不一样,而答案为 E 的数正好末尾为 ( 的倍数)。那我们就大胆地猜想:如果位数为 就是答案就是 E,否则就是 B。
带着这个猜测的结论,我们来将不是 的倍数的数和是 的倍数的数分开模拟一下。
-
,只有一位数的话 Bessie 就可以直接取完了,那么答案就为
B。 -
,因为 的倍数都不是回文数,因此 Bessie 不能一次取完,而 Elsie 就会取掉剩下的,因此答案为
E。 -
,这里就要考虑 本身是不是回文数了:如果 是回文数,那么 Bessie 可以直接取完,答案为
B;如果 不是回文数,那么 Beesie 可以将最后一位取掉使 变成 ,那么答案也是B。 -
,如果 Bessie 取完变成了回文数,那么 Elsie 可以直接取完,那么答案为
E;如果 Bessie 取完不是回文数,那么 Elsie 可以将其变成 ,那么答案也为E。 -
……
可以看到,我们猜的结论貌似是对的,事实上这就是正确的。因此,当一道题找不出规律的时候,不妨先从样例入手,或许就能找出正确的答案。
import java.util.*
val cin = Scanner(System.`in`)
fun main() {
for (t in 1..cin.nextInt()) {
if (cin.next().last() == '0') {
println("E")
} else {
println("B")
}
}
}