另外根据数据测试数组不够大的时候字符o在某次出现的时候不论怎么改最后都会变成a
by 霜羽 @ 2020-10-29 23:23:15
@[霜羽](/user/235589) 你的想法没错,是只需要开27个数组
[开27个数组的AC记录](https://www.luogu.com.cn/record/40795302)
by ChangYiMing @ 2020-10-29 23:44:57
```cpp
#include<cstdio>
#include<iostream>
using namespace std;
int a[30][2],b[30],c[30],n;
void read(){
char ch[3];
cin >> ch[0] >> ch[1] >> ch[2];
int p = int(ch[0] - 'a' + 1);c[p] = 1;
if(ch[1] != '*'){
a[p][0] = int(ch[1] - 'a' + 1);b[int(ch[1]-'a'+1)] = 1;
}
if(ch[2] != '*'){
a[p][1] = int(ch[2] - 'a' + 1);b[int(ch[2]-'a'+1)] = 1;
}
return;
}
void dfs(int p){
if(p == 0)return;
printf("%c",p+'a'-1);
if(a[p][0])dfs(a[p][0]);
if(a[p][1])dfs(a[p][1]);
return;
}
int main(){
cin >> n;
for(int i = 1;i <= n;++i)read();
for(int i = 1;i <= 30;++i)
if(b[i] == 0 && c[i] == 1){
dfs(i);
break;
}
return 0;
}
```
by ChangYiMing @ 2020-10-29 23:45:52
if条件语句一般右面只跟一句话,如果有多句话,可以用大括号括起来,或者每句话之间用“,”号隔开,不能用分号
by ChangYiMing @ 2020-10-29 23:47:25
右=>后
by ChangYiMing @ 2020-10-29 23:48:57
@[霜羽](/user/235589) 还有,如果数组开小了,一般情况是RE
by ChangYiMing @ 2020-10-29 23:52:41
@[ChangYiMing](/user/228788) 哦忘加大括号了,这么明显的问题233
感谢!
by 霜羽 @ 2020-10-30 00:17:46
可以把分号改成逗号
by yu__xuan @ 2020-10-30 05:52:47