递归求救

P1087 [NOIP2004 普及组] FBI 树

由于我比较菜,所以就用了分治A了
by wyb_dad @ 2022-08-19 19:46:22


@[wwwwer](/user/601277) 在洛谷提交AC了呀
by C201529 @ 2022-08-19 20:05:01


@[C201529](/user/569878) 确实AC了,但是不清楚为什么递归中第二个dfs要明确取几个字符,如果不写直接取完的话就崩溃了
by code_404 @ 2022-08-19 20:36:54


没搞懂你的意思诶,能说详细一点吗,我感觉跟你的代码差不多 ```cpp #include <iostream> #include <string> using namespace std; char check(string a){ bool zero = 0; bool one = 0; for(int i = 0;i<a.size();i++){ if(a[i] == '0') zero = 1; else one = 1; if(zero == 1 && one == 1){ return 'F'; } } if(zero == 1){ return 'B'; } return 'I'; } void solve(string s){ if(s.size()==1){ cout << check(s); return; } string l = s.substr(0,s.size()/2); string r = s.substr(s.size()/2,s.size()/2); solve(l); solve(r); cout << check(s); } int main(){ int n; cin >> n; string s; cin >> s; solve(s); } ```
by CasualJ @ 2022-08-25 19:48:02


|