uva 11489

时间:2023-03-08 19:48:05
uva 11489

简单博弈

#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <map>
#include <set>
#include <stack>
#include <vector>
#include <sstream>
#include <string>
#include <cstring>
#include <algorithm>
#include <iostream>
#define maxn 1010
#define INF 0x7fffffff
#define inf 10000000
#define MOD 1000000007
#define ull unsigned long long
#define ll long long
using namespace std; char s[maxn];
int num[10], sum, len; void init()
{
memset(num, 0, sizeof(num));
sum = 0;
len = strlen(s);
for(int i = 0; i < len; ++ i)
{
num[s[i]-'0'] ++;
sum += s[i] - '0';
}
} bool judge()
{
int ans = num[0]+num[3]+num[9]+num[6];
return ans%2;
} int main()
{
int t, ca = 1;
scanf("%d", &t);
getchar();
while(t--)
{
gets(s);
init();
printf("Case %d: ", ca++);
if(sum%3 == 0)
{
if(judge()) puts("S");
else puts("T");
}
else
{
int i;
for(i = 1; i < 10; ++ i)
if(num[i] && (sum-i)%3 == 0)
{
num[i] --;
break;
}
if(i < 10 && !judge()) puts("S");
else puts("T");
}
}
return 0;
}