社区讨论
10pts RE+AC求调
P1087[NOIP 2004 普及组] FBI 树参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mj752cyd
- 此快照首次捕获于
- 2025/12/15 20:37 3 个月前
- 此快照最后确认于
- 2025/12/18 21:10 3 个月前
代码在本地可以AC,但连#1都RE了
CPP#include<bits/stdc++.h>
using namespace std;
char tr[21000];
bool a[10500];
int n;
int build(int l,int r,int u){
if(l==r){
tr[u]=(a[l]?'I':'B');
return l;
}
char t=(a[l]?'I':'B');
for(int i=l;i<=r;i++){
if((t=='I'&&!a[i])||(t=='B'&&a[i])){
t='F';
break;
}
}
tr[u]=t;
int mid=(l+r)>>1;
build(l,mid,u*2);
build(mid+1,r,u*2+1);
}
void dfs(int u){
if(u<pow(2,n)){
dfs(u*2);
dfs(u*2+1);
}
cout<<tr[u];
}
int main(){
cin>>n;
for(int i=1;i<=pow(2,n);i++){
char c;
cin>>c;
a[i]=(c=='0'?0:1);
}
build(1,pow(2,n),1);
dfs(1);
}
版本:c++98
回复
共 2 条回复,欢迎继续交流。
正在加载回复...