因为长度是偶数,所以二分很容易想到,很多树上的东西其实不需要建树的。
#include <iostream>
#include <string>
using namespace std;
char FBI(string s) {
if (s.length() > 1) {
cout << FBI(s.substr(0, s.length() / 2));
cout << FBI(s.substr(s.length() / 2, s.length() / 2));
}
if (s == string(s.length(), '0')) return 'B';
if (s == string(s.length(), '1')) return 'I';
return 'F';
}
int main() {
int n;
string s;
cin >> n >> s;
cout << FBI(s) << endl;
return 0;
}


京公网安备 11010502036488号