2AC8MLE求调
查看原帖
2AC8MLE求调
1414002
nUII楼主2025/7/1 23:07
#include <bits/stdc++.h>
using namespace std;
struct node{
	char val;
	int l,r;
}tree[1030];
int n,o_n=1;
string s,t;
void bt(int le,int ri,int non){
	if(le==ri){
		if(s[le]-'0')tree[non].val='I';
		else tree[non].val='B';
	}
	else{
		int o1,o2; 
		bt(le,(ri+1)/2-1,++o_n);
		o1=o_n;
		tree[non].l=o_n;
		bt((ri+1)/2,ri,++o_n);
		o2=o_n;
		tree[non].r=o_n;
		if(tree[o1].val=='F'||tree[o2].val=='F'||tree[o1].val!=tree[o2].val)tree[non].val='F';
		else tree[non].val=tree[o1].val; 
	}
	return;
}
void be(int q){
	if(tree[q].l)be(tree[q].l);
	if(tree[q].r)be(tree[q].r);
	cout<<tree[q].val;
}
int main(){
	cin>>n;
	cin>>s;
	bt(0,s.size()-1,1);
	be(1);
	return 0;
}

样例死循环

2025/7/1 23:07
加载中...