31 lines
728 B
C++
31 lines
728 B
C++
#include <bits/stdc++.h>
|
||
|
||
using namespace std;
|
||
|
||
//声明FBI函数
|
||
char FBI(string s);
|
||
|
||
int main() {
|
||
int n;
|
||
cin >> n;
|
||
string s;
|
||
cin >> s;
|
||
cout << FBI(s);
|
||
return 0;
|
||
}
|
||
|
||
//FBI函数(递归函数)的实现
|
||
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));
|
||
}
|
||
// http://c.biancheng.net/view/400.html
|
||
if (s == string(s.length(), '0')) return 'B'; //通过string的构造函数,构建s.length()长度的0组成的字符串
|
||
if (s == string(s.length(), '1')) return 'I';
|
||
//混搭的输出F
|
||
return 'F';
|
||
}
|