本来我以为是会全部
结果全TLE,有没有看下优化的?(或者这个臭代码不值得优化)
#include <bits/stdc++.h>
using namespace std;
int main(){
int size_of_N = 0;
cin >> size_of_N;
size_of_N = pow(2,size_of_N);
bool *bool_S = new bool[size_of_N];
char char_S[size_of_N];
for(int i = 1;i <= size_of_N;i++){cin >> char_S[i];}
for(int i = 1;i <= size_of_N;i++){
if(char_S[i] != 48){
bool_S[i] = 1;
}else{
bool_S[i] = 0;
}
}
int sum;
for(int i = size_of_N;i >= 0;i/2){
bool flag = 0;
int j = 1;
for(;j <= i;j++){
if(flag = 1){
if(bool_S[j] == 0){
cout << "F";
break;
}
}
else if(bool_S[j] != 0){
flag = 1;
}else {
continue;
}
}
if(flag = 0){
cout << "B";
}else if(bool_S[j] != 0 || flag == 1){
cout << "I";
}
flag = 0;
for(j = i;j <= sum;j++){
if(flag = 1){
if(bool_S[j] == 0){
cout << "F";
break;
}
}
else if(bool_S[j] != 0){
flag = 1;
}else {
continue;
}
}
if(flag = 0){
cout << "B";
}else if(bool_S[j] != 0 || flag == 1){
cout << "I";
}
int sum = i;
}
cout << endl;
return 0;
}