算法
(暴力枚举) $O(n)$
当字符串第一次出现 1
的时候,若此时的位置为奇数则高桥输,反之则青木输。
C++ 代码
// 实现1
#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i)
using std::cin;
using std::cout;
using std::string;
int main() {
int n;
string s;
cin >> n >> s;
rep(i, n) {
if (s[i] == '1') {
if (i % 2 == 0) puts("Takahashi");
else puts("Aoki");
return 0;
}
}
return 0;
}
// 实现2
#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i)
using std::cin;
using std::cout;
using std::string;
int main() {
int n;
string s;
cin >> n >> s;
puts(s.find('1') % 2 ? "Aoki" : "Takahashi");
return 0;
}