```cpp
#include <bits/stdc++.h>
using namespace std;
void gene(string s){
int sum=0,sum_=0;
for(int i=0;i<(int)s.length();i++)s[i]-'0'?sum_++:sum++;
if(sum==(int)s.length())cout<<'A';
else if(sum_==(int)s.length())cout<<'B';
else{
cout<<'C';
gene(s.substr(0,s.length()/2));
gene(s.substr(s.length()/2,s.length()/2));
}
}
int main(){
string s;
cin>>s;
gene(s);
return 0;
}
```
@[Walnutjuice](/user/1185284) 用s.substr()
by yaominghao2007 @ 2023-11-17 21:30:53
gene(substr(0,s.length()/2)); gene(substr(s.length()/2,s.length()/2));
原因是:substr未定义。
改为:
gene(s.substr(0,s.length()/2)); gene(s.substr(s.length()/2,s.length()/2));
by 99999873654as7829 @ 2023-11-17 21:54:36
@[yaominghao2007](/user/276894) 谢谢帮助
by Walnutjuice @ 2023-11-19 13:51:40
```
各位大佬,本蒟蒻请教一下:请问我换了一个代码,用switch不行,用if else却可以是为什么
```
```cpp
CE代码:
#include <bits/stdc++.h>
using namespace std;
void gene(string s){
switch(s){
case string((int)s.length(),'0'):putchar('A');break;
case string((int)s.length(),'1'):putchar('B');break;
default:putchar('C');gene(s.substr(0,s.length()/2)); gene(s.substr(s.length()/2,s.length()/2));
}
}
int main(){
string s;
cin>>s;
gene(s);
return 0;
}
```
```cpp
AC代码:
将switch换成if即可,本蒟蒻不予展示
```
by Walnutjuice @ 2023-11-19 14:16:21