都怪我太菜,这么水的题我竟然没做出来,亏我之前还特意看过博弈论
/*
ID: CaoLei
PROG: a.cpp
LANG: C++
一个状态是必败态当且仅当所有的后记状态都是必胜态
一个状态是必胜态当且仅当他至少有一个后继状态是必败态
没有后继状态的是必败态
*/
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <set>
#include <queue>
#include <map>
#include <cmath>
#include <vector>
using namespace std;
#define N 500010
#define pi acos(-1.0)
#define inf 0x3f3f3f3f
#define pb(x) push_back((x))
typedef long long ll;
typedef unsigned long long ull;
char s[100];
int use[7];
bool dfs(int sum){
if(sum>=31) return false;
bool f=true;
for(int i=1;i<=6;i++){
if(use[i]<4&&i+sum<32){
use[i]++;
if(!dfs(i+sum))
{
f=false;
}
use[i]--;
}
}
if(!f) return true;
return false;
}
int main(){
while(~scanf("%s",s)){
printf("%s ",s);
getchar();
memset(use,0,sizeof(use));
int len=strlen(s);
int sum=0;
for(int i=0;i<len;i++){
use[s[i]-'0']++;
sum+=(s[i]-'0');
}
//cout<<dfs(sum)<<endl;
if(dfs(sum)){
if(len%2) printf("B\n");
else printf("A\n");
}
else {
if(len%2) printf("A\n");
else printf("B\n");
}
}
return 0;
}