# ZeroJudge - f710: 11489 - Integer Game ### 題目連結:https://zerojudge.tw/ShowProblem?problemid=f710 ###### tags: `ZeroJudge` `數學` `拈(Nim)` ```cpp= #include <iostream> #include <string> using namespace std; int main() { cin.sync_with_stdio(false); cin.tie(nullptr); int times, digit, digitSums, countsMods0, countsMods1, countsMods2; string number; cin >> times; for (int t = 1; t <= times; ++t) { cin >> number; digitSums = countsMods0 = countsMods1 = countsMods2 = 0; for (int i = 0; i != number.size(); ++i) { digitSums += (digit = number[i] - '0'); switch (digit % 3) { case 1: ++countsMods1; break; case 2: ++countsMods2; break; default: ++countsMods0; } } cout << "Case " << t << ": "; switch (digitSums % 3) { case 1: cout << (countsMods1 > 0 && !(countsMods0 & 1) ? "S\n" : "T\n"); break; case 2: cout << (countsMods2 > 0 && !(countsMods0 & 1) ? "S\n" : "T\n"); break; default: cout << ((countsMods0 & 1) ? "S\n" : "T\n"); } } } ```