Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
99694 | 黄戈 | FBI树 | C++ | 通过 | 100 | 0 MS | 264 KB | 555 | 2023-08-23 15:43:32 |
#include <bits/stdc++.h> using namespace std; int n,v; struct Edge{ char er1,er2; }; Edge e[1000005]; void dfs(int n,string b) { if(b==""||b=="") return ; bool y1=0,y2=0; for(int i=0;i<n;i++){ if(b[i]=='1'){ y1=1; } else{ y2=1; } } char r; if(y1==1&&y2==0){ r='I'; } else if(y1==0&&y2==1){ r='B'; } else{ r='F'; } dfs(n/2,b.substr(0,n/2)); dfs(n/2,b.substr(n/2,n/2)); cout<<r; } int main() { cin>>n; v=1<<n; string aa; cin>>aa; int y1,y0; dfs(v,aa); return 0; }