Palindrome Game (USACO Bronze 2024 February)

Palindrome Game (USACO Bronze 2024 February)

题目要求我们判断B是否存在必胜策略,是一个博弈论game theory的题目。

B先行,每次B或E都可以拿走回文数颗石子,轮到时石子数为0的人输。

青铜组的博弈论题目不会难,所以我们可以努力去找规律,此题考查一定的思维能力,没想出来前可能会觉得复杂。但要相信game theory题目坚持找规律都能找到,所以不要放弃。

我们一般从小的数往大的找,看是否有明显的规律。

所以答案非常简单,如果个位数为0,输出"E",否则输出"B"。

#include <cstdio>
#include <algorithm>
#include <functional>
#include <vector>
#include <cstring>
using namespace std;
typedef long long ll;
typedef pair<int,int> pi;
 
int T;
char s[100005];
 
int main() {
    scanf("%d", &T);
    for (int i = 0; i < T; i++) {
        scanf("%s", s);
        int n = strlen(s);
        if (s[n-1] == '0') {
            printf("E\n");
        } else {
            printf("B\n");
        }
    }
 
    return 0;
}