51Nod-1068-Bash遊戲 V3
阿新 • • 發佈:2019-01-27
描述
題解
從1開始找規律……(1必贏,0必輸)不難發現,數位之和的奧妙。
序列 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
局面 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
數位和 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
所以,我們不難總結出,對於N,符合3個一迴圈的規律,勝勝負。而數位和同樣符合此規律( ̄┰ ̄*)……
程式碼
#include <iostream>
#include <cstring>
using namespace std;
const int win[] = {1, 1, 0};
int main(int argc, const char * argv[])
{
int T;
cin >> T;
int N;
char S[1010];
while (T--)
{
cin >> S;
int len = (int)strlen(S);
N = 0 ;
for (int i = 0; i < len; i++)
{
N += S[i] - '0';
}
if (win[(N - 1) % 3])
{
cout << "A\n";
}
else
{
cout << "B\n";
}
}
return 0;
}