在跳fa的时候不能直接for (int i = 1;i <= dis[awa] / 2;i++) awa = fa[awa];。因为跳的时候awa是在改变的,dis[awa]也是在改变的。 应该写成for (int i = 1;i <= qwq / 2;i++) awa = fa[awa];//qwq=dis[awa]。
for (int i = 1;i <= dis[awa] / 2;i++) awa = fa[awa];
for (int i = 1;i <= qwq / 2;i++) awa = fa[awa];//qwq=dis[awa]