void dfs(int u,int fa){
int cnt=0;
f[u]="0";
for(int i=head[u];i;i=e[i].Next){
int v=e[i].to;
if(v==fa)continue;
dfs(v,u);
g[++cnt]=f[v];
}
sort(g+1,g+cnt+1);
for(int i=1;i<=cnt;++i)f[u]+=g[i];
f[u]+="1";
}
void dfs(int u,int fa){
int cnt=0;
f[u]="0";
for(int i=head[u];i;i=e[i].Next){
int v=e[i].to;
if(v==fa)continue;
dfs(v,u);
}
for(int i=head[u];i;i=e[i].Next){
int v=e[i].to;
if(v==fa)continue;
g[++cnt]=f[v];
}
sort(g+1,g+cnt+1);
for(int i=1;i<=cnt;++i)f[u]+=g[i];
f[u]+="1";
}
两者中区别只在于g[]什么时候存储,但是第一个wa,第二个ac,有没有大佬能解释一下。