哭了呀,之前60分,改了过了最大样例结果全是re了
查看原帖
哭了呀,之前60分,改了过了最大样例结果全是re了
423006
傻肥狍子楼主2021/6/9 20:35
#include <bits/stdc++.h>
using namespace std;
const int maxn=2e3+3;
int n;
int a,s[maxn];
char b[maxn];
int to(char *b,int nn)
{
	for(int i=0; i<nn; i++){
		s[i+1]=b[i]-'0';
	}
}
int getpost(int *s,int nn)
{
//	int root=s[nn];
	if(nn/2!=0){
		getpost(s,nn/2);  //递归左树
		getpost(s+nn/2,nn/2);  //递归右树 
	}
	bool c0=0,c1=0;
	for(int j=1; j<=nn; j++){
		int root=s[j];
		if(root==0) c0=1;
		if(root==1) c1=1;
	}
	if(c0&&c1) printf("F");
	if(c0&&!c1) printf("B");
	if(!c0&&c1) printf("I");
}
int main()
{
	scanf("%d",&n); //读入数据量的大小
	int nn=pow(2,n);  //获取字母个数
	scanf("%s",b);
	to(b,nn);
	getpost(s,nn);
	return 0;
 } 
2021/6/9 20:35
加载中...