找规律

这一道题看起来十分复杂,没有规律可寻,但是我们可以从样例入手。首先,样例都是 的倍数,但是答案却不一样,而答案为 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")
    }
  }
}