/ Vijos / 讨论 / FBI树 /

这个那错了,每次都是2号数据wrong

#include<iostream>
#include<cstring>
using namespace std;
int n;
string x;

void fbi(int a,int z)
{
if(a<=z)
{
int mid,i(0),b(0),m(0);
mid=(a+z)/2;
if(a!=z)
{
fbi(a,mid);
fbi(mid+1,z);
}
m=a;
while(m<=z)
{
if(x[m]=='0')
{
b++;
}
else
{
i++;
}
m++;
}
if(b==0 && i>0)
{
cout<<'I';
}
else if(b>0 && i==0)
{
cout<<'B';
}
else
{
cout<<'F';
}
}
}
int main()
{
int k(2);
cin >>n>>x;
for(int i=2;i<=n;i++)
{
k=k*2;
}
fbi(0,k-1);
return 0;
}

1 条评论

  • 1

信息

ID
1114
难度
3
分类
数据结构 | 点击显示
标签
递交数
4162
已通过
2223
通过率
53%
被复制
26
上传者