求助数组大小的问题

P1305 新二叉树

另外根据数据测试数组不够大的时候字符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


|